<?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 rel="alternate" hreflang="en-SG"
                       href="https://www.techradar.com/sg/feeds/tag/computing"
                       type="application/rss+xml"/>
                            <title><![CDATA[ Latest from TechRadar SG in Computing ]]></title>
                <link>https://www.techradar.com/sg/computing</link>
        <description><![CDATA[ All the latest computing content from the TechRadar  SG team ]]></description>
                                    <lastBuildDate>Thu, 05 Nov 2026 18:15:05 +0000</lastBuildDate>
                            <language>en</language>
                                <item>
                                                            <title><![CDATA[ The MacBook Pro PROLED XDR 14-inch is my favorite MacBook, ever — here's why ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It wasn’t until I unboxed the all-new touchscreen MacBook Pro that I understood the enormity of what Apple had done. They’d told me it was now a 3lb system that was both thinner and smaller than the MacBook Pro M5 (and the recently released M6 model), but it wasn’t until I put the new laptop next to the M5 and then compared it to the MacBook Air M5 that I knew Apple had changed its laptop game. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YumVV9dpFxRYhZYVASEhSJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tYMvuCHzixWJcYJPsDiKaJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZLQfYtMLcNXS6wwEnPAdSJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/auejtaJ3T6gCTAH4Zx98cJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5vauy5xjq93akjqa3QkePJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dgcWdfhqtnbQ2YwbYfDBNJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>Here's what you should know about me: I hate a heavy backpack. That’s one of the reasons I carried a Microsoft Surface Pro for a decade and have now carried a succession of excellent MacBook Air laptops for the last few years. At 2.7 lbs, it's light enough to be mostly unnoticeable in my backpack, and since the M-class Apple silicon chips, Apple has packed in more than enough power for my needs. </p><p>The new Touchscreen MacBook shrinks the traditional Pro chassis by a full half pound. That’s right, it’s now just 0.3 pounds heavier than my MacBook Air. It’s not just the weight. Overall bulk — despite a larger (and also in part because of) PROLED XDR display — is not much more than the Air.</p><p>Here are the specs:  </p><p><strong>MacBook Air 13-inch M5</strong></p><ul><li>Height: 0.44 inch</li><li>Width: 11.97 inches</li><li>Depth: 8.46 inches</li></ul><p><strong>MacBook Pro PROLED XDR Display 14-inch</strong></p><ul><li>Height: 0.59 inch</li><li>Width: 12.24 inches</li><li>Depth: 8.52 inches</li></ul><p>Obviously, the touchscreen MacBook Pro is fractionally larger in every dimension, but it no longer feels like a bulky, heavy Pro system.  </p><p>Apple’s ability to shrink this powerful laptop's dimensions — while leaving ports, keyboard, trackpad, and speakers virtually untouched and oh-so-familiar — comes down, in large part, to the new tandem OLED display, which is considerably thinner than the M6’s mini-LED-based Liquid Retina Display. </p><p>It’s also wholly redesigned, stretching far deeper on the cover than the Liquid Retina panel on the traditional MacBook Pro. That extra depth is how Apple almost magically fits a 14.2-inch display on a smaller chassis.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/N8Cv3cPu7vMzYBxbzv457D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d2GjEduuDgRqazqyWQi76D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gUJ9V99oipD7U5q6RVvj9D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7mwVc7qPY8ZhfVj4SqQJED-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>Perhaps you can see where I’m going: By shrinking its most powerful portable (with a touchscreen, no less), Apple is, whether purposefully or not, introducing some buying confusion. A MacBook Pro is officially nearly ultra-portable territory. </p><p>Obviously, the price and power disparity is what will now cleave consumers one way or the other. The MacBook Air 13-inch M5 starts at $1,099 / £1,099 / AU$1,799 with 16GB of RAM, a 10-Core CPU, 8-Core GPU, and 512GB of storage. The 14-inch MacBook Pro PROLED XDR Display starts at $2,899 / £2,899 / AU$4,599, with a 15-Core M5 Pro, 16-Core GPU, 24GB of RAM, and 1TB of storage.  </p><p>The difference is clear: this is a Pro-grade system, which has far more power than anyone looking at a MacBook Air-class system probably needs. </p><p>Still, with this new MacBook Pro, I think the MacBook Air’s portability advantage has been taken off the table.</p><h2 id="the-magic-touch">The magic touch </h2><p>Now, I’ve spent some time with a slightly juiced-up MacBook Pro PROLED XDR Display (M5 Pro with an 18-Core GPU, 20-Core GPU, 48GB of RAM, and 1 TB of storage for $3699) and have come to realize that aside from formidable, virtually endless power, it’s the remarkable screen that I now believe is set to change the trajectory of all Apple MacBooks. </p><p>I want to be clear: the ability to touch the MacBook Pro screen and manipulate data, content, screen views, desktops, and more is exciting. But I‘m not gonna lie, I’ve been struggling to figure out what it was made for. As I wrote when <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">Apple unveiled the touchscreen MacBook Pro</a>, I’m quite familiar with touchscreen systems and, when necessary, did touch my Surface Pro screen. </p><p>However, it’s becoming clear to me that as I use the MacBook Pro PROLED XDR Display system as my everyday driver, I don’t touch the display very often. Instead, I kept looking for reasons to touch the display. </p><p>There are apps where it’s fun to try, like the 3D-manipulating ZBrush, which lets me pull and push 3D models like a digital sculptor, and 3D scene-creating Cinema 4D (using my fingers to manipulate a 3D couch was harder than I thought it would be), but these are, at least not for me, everyday tools. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/q25u8Ckn3D2x9t7eX8E8WL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>ZBrush on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XyuQHmtryEf93x2bj36jSL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>ZBrush on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NCoxtuZQJqBjjGNiTMdfaL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cinema 4D on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cNyqmzqKbyGgMJPpM5vgcL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cinema 4D on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>I fiddled with the laptop’s touchscreen to scroll through web pages, but I'm just as happy to use the giant Force Touch trackpad.</p><p>I take a lot of screen grabs by holding down Command/Shift/4 to launch the grabber, and I usually use the mouse to select the capture area. With the touchscreen, I could drag my finger diagonally across the screen to select a capture area. That was kind of cool, though not a game changer, and I’m fine with using the mouse. </p><p>I tried using my fingers to manipulate my <em>Cyberpunk 2077</em> character, and it was a disaster. I kept accidentally drawing my weapon and blasting away at random strangers. I decided to stick with the mouse and trackpad. Side note: I ran all of these games and apps at once. This system is such a beast.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Me4gfagUJ5R7hDaJSHrnUL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cyberpunk 2077 on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bpNA3KGsquiGYiPwsrGPRL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cyberpunk 2077 on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>The point is, I think touch has its applications and place, but I think it’ll end up being mostly useful in specific, vertical workflows. </p><p>That feeling may change over time. After all, sometimes touching a MacBook display does feel like an illicit act. Each time I went to close a window or scroll a webpage with a fingertip, I did glance around to see who was watching, wondering if they thought I’d gone a bit daft, as they thought, “Dude, you can’t touch a MacBook screen; <a href="https://www.techradar.com/computing/macbooks/it-doesnt-work-steve-jobs-on-why-there-was-never-a-touchscreen-macbook-and-why-i-think-hed-totally-love-whats-coming-next">Steve Jobs told us so</a>.” </p><p>Those who do choose this relatively lightweight and incredibly powerful system probably won’t do so because of touch, but they may choose it for another reason: </p><p>The astonishing display.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/N8yVUCK6wzYNZ4Kri8N8YL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ACk5Mc5UKJaKK5i6n2usKL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SFuT6tA3G2AsUeUudAN93L-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>From the new Dynamic Island that replaces the giant notch on my old MacBook Pro (and provides some useful live info but sadly not Face ID) to the thinner bezels and curved bottom, it’s more aesthetically appealing. The tandem OLED technology, though, transforms the visuals in ways that no other laptop I’ve ever used or seen can approach.</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="58HTrnSHxz9APrand7mQTJ" name="14-inch Touchscreen MacBook Pro dynamic island" alt="MacBook Pro PROLED XDR Display 14-inch" src="https://cdn.mos.cms.futurecdn.net/58HTrnSHxz9APrand7mQTJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>I put the MacBook Pro PROLED XDR Display next to the MacBook Pro M5, and the difference is nothing short of remarkable. </p><p>The promised 10,000,000-to-1 contrast ratio pays dividends with blacks that are inkier than the deep center of a black hole. That’s paired with colors and clarity that make everything pop, and with ProMotion (up to 120Hz), everything is smooth as silk. </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="EAASxGbYDSBGLk7gtPDqQJ" name="14-inch Touchscreen MacBook Pro full" alt="MacBook Pro PROLED XDR Display 14-inch" src="https://cdn.mos.cms.futurecdn.net/EAASxGbYDSBGLk7gtPDqQJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Viewed separately, imagery still looks great on the MacBook M5’s Liquid Retina XDR, but next to the new PROLED XDR, everything on the M5 Pro looks muted. Even the off-angle viewing is noticeably better on the PROLED XDR Display. I wasn’t alone in this assessment. I showed the side-by-side laptops to a group of coworkers, and they all agreed. </p><p>That spectacular screen is paired with a more performant silicon that easily bested the standard M5 in my older MacBook Pro. In my side-by-side tests with <em>Resident Evil 4</em>, the M5 Pro MacBook Pro loaded the game faster and stayed a step ahead of the M5 MacBook Pro. </p><p>Here’s my conundrum. Most people shopping for laptops are not making a feature film, cutting a studio album, working on giant CAD-level projects, or running large language AI models locally, all things that the MacBook Pro PROLED XDR and its M5 Pro are more than capable of (often, as I noted above, at the same time, but with a lot of fan noise). But I cannot think of a single potential user who would not want this display. </p><p>They don’t all need the touchscreen, for as cool as it is, but as for that big, efficient, bright, and contrast-rich tandem OLED, everyone could use that. </p><p>So the question I’m left with after my MacBook Pro PROLED XDR Display 14-inch experience is: when will the next MacBook Air get this display, shrink by half a pound, and regain its position as the ultra-portable king? Oh, and how soon can the MacBook Air get that glowing logo on the back?</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude" /></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><div data-widget-type="merchantlink" data-model-name="Apple MacBook Pro 14in with PROLED XDR Display,Apple MacBook Pro 16in with PROLED XDR Display"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/macbooks/the-macbook-pro-proled-xdr-14-inch-is-my-favorite-macbook-ever-and-it-should-leave-many-macbook-air-users-feeling-jealous</link>
                                                                            <description>
                            <![CDATA[ Apple's MacBook Pro PROLED XDR Display touchscreen laptop is so light and so stunning that you might start looking at your MacBook Air a little differently. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">7HBvrpnQj6Xo7kTjwm3ciF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/QeckLaMuvycDKHTVPjxPQJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 18:15:05 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Macbooks]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                                                                <author><![CDATA[ lance.ulanoff@futurenet.com (Lance Ulanoff) ]]></author>                    <dc:creator><![CDATA[ Lance Ulanoff ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/6Wh5hw6gxNa22teaor9Pdn-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lance Ulanoff is an &lt;a href=&quot;https://cdn.mos.cms.futurecdn.net/ox35RKH2kNKBfSBfvHEoK6.jpg&quot;&gt;award-winning tech journalist&lt;/a&gt;, on-air expert, and commentator.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Before joining TechRadar, he served as Editor in Chief of Lifewire. Prior to that, he was Chief Correspondent for Mashable where he covered all facets of technology and the intersection of digital and life. He also helped Mashable find new ways to tell stories. Lance is based in NY.&lt;br&gt;&lt;br&gt;A 38-year industry veteran, &lt;a href=&quot;https://en.wikipedia.org/wiki/Lance_Ulanoff&quot; target=&quot;_blank&quot;&gt;Lance Ulanoff&lt;/a&gt; has covered technology since PCs were the size of suitcases, “on line” meant “waiting” and CPU speeds were measured in single-digit megahertz. Prior to joining Mashable as Editor in Chief in 2011, Lance Ulanoff served as Editor in Chief of PCMag.com and Senior Vice President of Content for the Ziff Davis, Inc. While there, he guided the brand to a 100% digital existence and oversaw content strategy for all of Ziff Davis’ Web sites. His long-running column on PCMag.com earned him a Bronze award from the ASBPE. Winmag.com, HomePC.com, and PCMag.com were all honored under Lance’s guidance. &lt;br&gt;&lt;br&gt;He makes frequent appearances on national, international, and local news programs including &lt;a href=&quot;https://kellyandryan.com/homepagemodules/new-years-tech-resolutions-with-lance-ulanoff/&quot; target=&quot;_blank&quot;&gt;Live with Kelly and Mark&lt;/a&gt;, &lt;a href=&quot;https://www.today.com/video/google-glass-is-beginning-of-a-revolution-44496451646&quot; target=&quot;_blank&quot;&gt;the Today Show&lt;/a&gt;, Good Morning America, CNBC, CNN, and the BBC. He has also offered commentary on National Public Radio and been interviewed by newspapers and radio stations around the country. Lance has been an invited guest speaker at numerous technology conferences including Think Mobile, CEA Line Shows, Digital Life, RoboBusiness, RoboNexus, Business Foresight, and Digital Media Wire’s Games and Mobile Forum.&lt;br&gt;&lt;br&gt;Lance received his Bachelor of Arts in Journalism from Hofstra University in New York. He serves on Hofstra’s School of Communication Advisory Board.&lt;br&gt;&lt;br&gt;In his spare time, Lance draws cartoons, which he occasionally posts online. He and his wife Linda have been married for over 30 years and have raised two amazing children.&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/QeckLaMuvycDKHTVPjxPQJ-1920-80.jpg">
                                                            <media:credit><![CDATA[Lance Ulanoff / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[MacBook Pro PROLED XDR Display 14-inch]]></media:description>                                                            <media:text><![CDATA[MacBook Pro PROLED XDR Display 14-inch]]></media:text>
                                <media:title type="plain"><![CDATA[MacBook Pro PROLED XDR Display 14-inch]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/QeckLaMuvycDKHTVPjxPQJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It wasn’t until I unboxed the all-new touchscreen MacBook Pro that I understood the enormity of what Apple had done. They’d told me it was now a 3lb system that was both thinner and smaller than the MacBook Pro M5 (and the recently released M6 model), but it wasn’t until I put the new laptop next to the M5 and then compared it to the MacBook Air M5 that I knew Apple had changed its laptop game. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YumVV9dpFxRYhZYVASEhSJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tYMvuCHzixWJcYJPsDiKaJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ZLQfYtMLcNXS6wwEnPAdSJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/auejtaJ3T6gCTAH4Zx98cJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/5vauy5xjq93akjqa3QkePJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/dgcWdfhqtnbQ2YwbYfDBNJ-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14-inch" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>Here's what you should know about me: I hate a heavy backpack. That’s one of the reasons I carried a Microsoft Surface Pro for a decade and have now carried a succession of excellent MacBook Air laptops for the last few years. At 2.7 lbs, it's light enough to be mostly unnoticeable in my backpack, and since the M-class Apple silicon chips, Apple has packed in more than enough power for my needs. </p><p>The new Touchscreen MacBook shrinks the traditional Pro chassis by a full half pound. That’s right, it’s now just 0.3 pounds heavier than my MacBook Air. It’s not just the weight. Overall bulk — despite a larger (and also in part because of) PROLED XDR display — is not much more than the Air.</p><p>Here are the specs:  </p><p><strong>MacBook Air 13-inch M5</strong></p><ul><li>Height: 0.44 inch</li><li>Width: 11.97 inches</li><li>Depth: 8.46 inches</li></ul><p><strong>MacBook Pro PROLED XDR Display 14-inch</strong></p><ul><li>Height: 0.59 inch</li><li>Width: 12.24 inches</li><li>Depth: 8.52 inches</li></ul><p>Obviously, the touchscreen MacBook Pro is fractionally larger in every dimension, but it no longer feels like a bulky, heavy Pro system.  </p><p>Apple’s ability to shrink this powerful laptop's dimensions — while leaving ports, keyboard, trackpad, and speakers virtually untouched and oh-so-familiar — comes down, in large part, to the new tandem OLED display, which is considerably thinner than the M6’s mini-LED-based Liquid Retina Display. </p><p>It’s also wholly redesigned, stretching far deeper on the cover than the Liquid Retina panel on the traditional MacBook Pro. That extra depth is how Apple almost magically fits a 14.2-inch display on a smaller chassis.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/N8Cv3cPu7vMzYBxbzv457D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/d2GjEduuDgRqazqyWQi76D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gUJ9V99oipD7U5q6RVvj9D-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/7mwVc7qPY8ZhfVj4SqQJED-1920-80.jpg" alt="MacBook Pro PROLED XDR Display 14 vs MacBook Air M5 13-inch" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Air M5 13-inch on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>Perhaps you can see where I’m going: By shrinking its most powerful portable (with a touchscreen, no less), Apple is, whether purposefully or not, introducing some buying confusion. A MacBook Pro is officially nearly ultra-portable territory. </p><p>Obviously, the price and power disparity is what will now cleave consumers one way or the other. The MacBook Air 13-inch M5 starts at $1,099 / £1,099 / AU$1,799 with 16GB of RAM, a 10-Core CPU, 8-Core GPU, and 512GB of storage. The 14-inch MacBook Pro PROLED XDR Display starts at $2,899 / £2,899 / AU$4,599, with a 15-Core M5 Pro, 16-Core GPU, 24GB of RAM, and 1TB of storage.  </p><p>The difference is clear: this is a Pro-grade system, which has far more power than anyone looking at a MacBook Air-class system probably needs. </p><p>Still, with this new MacBook Pro, I think the MacBook Air’s portability advantage has been taken off the table.</p><h2 id="the-magic-touch">The magic touch </h2><p>Now, I’ve spent some time with a slightly juiced-up MacBook Pro PROLED XDR Display (M5 Pro with an 18-Core GPU, 20-Core GPU, 48GB of RAM, and 1 TB of storage for $3699) and have come to realize that aside from formidable, virtually endless power, it’s the remarkable screen that I now believe is set to change the trajectory of all Apple MacBooks. </p><p>I want to be clear: the ability to touch the MacBook Pro screen and manipulate data, content, screen views, desktops, and more is exciting. But I‘m not gonna lie, I’ve been struggling to figure out what it was made for. As I wrote when <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">Apple unveiled the touchscreen MacBook Pro</a>, I’m quite familiar with touchscreen systems and, when necessary, did touch my Surface Pro screen. </p><p>However, it’s becoming clear to me that as I use the MacBook Pro PROLED XDR Display system as my everyday driver, I don’t touch the display very often. Instead, I kept looking for reasons to touch the display. </p><p>There are apps where it’s fun to try, like the 3D-manipulating ZBrush, which lets me pull and push 3D models like a digital sculptor, and 3D scene-creating Cinema 4D (using my fingers to manipulate a 3D couch was harder than I thought it would be), but these are, at least not for me, everyday tools. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/q25u8Ckn3D2x9t7eX8E8WL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>ZBrush on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/XyuQHmtryEf93x2bj36jSL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>ZBrush on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/NCoxtuZQJqBjjGNiTMdfaL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cinema 4D on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/cNyqmzqKbyGgMJPpM5vgcL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cinema 4D on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>I fiddled with the laptop’s touchscreen to scroll through web pages, but I'm just as happy to use the giant Force Touch trackpad.</p><p>I take a lot of screen grabs by holding down Command/Shift/4 to launch the grabber, and I usually use the mouse to select the capture area. With the touchscreen, I could drag my finger diagonally across the screen to select a capture area. That was kind of cool, though not a game changer, and I’m fine with using the mouse. </p><p>I tried using my fingers to manipulate my <em>Cyberpunk 2077</em> character, and it was a disaster. I kept accidentally drawing my weapon and blasting away at random strangers. I decided to stick with the mouse and trackpad. Side note: I ran all of these games and apps at once. This system is such a beast.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/Me4gfagUJ5R7hDaJSHrnUL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cyberpunk 2077 on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/bpNA3KGsquiGYiPwsrGPRL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>Cyberpunk 2077 on the MacBook Pro PROLED XDR Display 14<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>The point is, I think touch has its applications and place, but I think it’ll end up being mostly useful in specific, vertical workflows. </p><p>That feeling may change over time. After all, sometimes touching a MacBook display does feel like an illicit act. Each time I went to close a window or scroll a webpage with a fingertip, I did glance around to see who was watching, wondering if they thought I’d gone a bit daft, as they thought, “Dude, you can’t touch a MacBook screen; <a href="https://www.techradar.com/computing/macbooks/it-doesnt-work-steve-jobs-on-why-there-was-never-a-touchscreen-macbook-and-why-i-think-hed-totally-love-whats-coming-next">Steve Jobs told us so</a>.” </p><p>Those who do choose this relatively lightweight and incredibly powerful system probably won’t do so because of touch, but they may choose it for another reason: </p><p>The astonishing display.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/N8yVUCK6wzYNZ4Kri8N8YL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/ACk5Mc5UKJaKK5i6n2usKL-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/SFuT6tA3G2AsUeUudAN93L-1920-80.jpg" alt="MacBook Pro PROLED XDR Display touch screen examples" /><figcaption>MacBook Pro PROLED XDR Display 14 on the left and the MacBook Pro 14-inch M5 on the right<small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>From the new Dynamic Island that replaces the giant notch on my old MacBook Pro (and provides some useful live info but sadly not Face ID) to the thinner bezels and curved bottom, it’s more aesthetically appealing. The tandem OLED technology, though, transforms the visuals in ways that no other laptop I’ve ever used or seen can approach.</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="58HTrnSHxz9APrand7mQTJ" name="14-inch Touchscreen MacBook Pro dynamic island" alt="MacBook Pro PROLED XDR Display 14-inch" src="https://cdn.mos.cms.futurecdn.net/58HTrnSHxz9APrand7mQTJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>I put the MacBook Pro PROLED XDR Display next to the MacBook Pro M5, and the difference is nothing short of remarkable. </p><p>The promised 10,000,000-to-1 contrast ratio pays dividends with blacks that are inkier than the deep center of a black hole. That’s paired with colors and clarity that make everything pop, and with ProMotion (up to 120Hz), everything is smooth as silk. </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="EAASxGbYDSBGLk7gtPDqQJ" name="14-inch Touchscreen MacBook Pro full" alt="MacBook Pro PROLED XDR Display 14-inch" src="https://cdn.mos.cms.futurecdn.net/EAASxGbYDSBGLk7gtPDqQJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Viewed separately, imagery still looks great on the MacBook M5’s Liquid Retina XDR, but next to the new PROLED XDR, everything on the M5 Pro looks muted. Even the off-angle viewing is noticeably better on the PROLED XDR Display. I wasn’t alone in this assessment. I showed the side-by-side laptops to a group of coworkers, and they all agreed. </p><p>That spectacular screen is paired with a more performant silicon that easily bested the standard M5 in my older MacBook Pro. In my side-by-side tests with <em>Resident Evil 4</em>, the M5 Pro MacBook Pro loaded the game faster and stayed a step ahead of the M5 MacBook Pro. </p><p>Here’s my conundrum. Most people shopping for laptops are not making a feature film, cutting a studio album, working on giant CAD-level projects, or running large language AI models locally, all things that the MacBook Pro PROLED XDR and its M5 Pro are more than capable of (often, as I noted above, at the same time, but with a lot of fan noise). But I cannot think of a single potential user who would not want this display. </p><p>They don’t all need the touchscreen, for as cool as it is, but as for that big, efficient, bright, and contrast-rich tandem OLED, everyone could use that. </p><p>So the question I’m left with after my MacBook Pro PROLED XDR Display 14-inch experience is: when will the next MacBook Air get this display, shrink by half a pound, and regain its position as the ultra-portable king? Oh, and how soon can the MacBook Air get that glowing logo on the back?</p><div  class="fancy-box"><div class="fancy_box-title">Did you know TechRadar now has membership?</div><div class="fancy_box_body"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' ><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MZftMKPquR3jRGaoR9TwcB" name="TechRadar-Insider-banner" caption="" alt="Various tech product cutouts next to the words 'Insider TechRadar Learn More'" src="https://cdn.mos.cms.futurecdn.net/MZftMKPquR3jRGaoR9TwcB-1920-80.jpg" mos="" link="" align="" fullscreen="" width="" height="" attribution="" endorsement="" class="pinterest-pin-exclude" /></p></div></div><figcaption itemprop="caption description" class=""><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p class="fancy-box__body-text">Become a TechRadar Insider by simply clicking 'Join Now' at the top of this page. Have a question? Please email <a data-analytics-id="inline-link" href="https://futureplc.slgnt.eu/optiext/optiextension.dll?ID=XWc%2BNZbmPVY1QXCHegXUW5hAZTqddroX0h4zBFHHIu3aOyPDcGIlPjK%2BJMv55n1J8bfl5bA494yjEg3_i0iSaOXD%2BXycXT" target="_blank">membership@techradar.com</a></p></div></div><div data-widget-type="merchantlink" data-model-name="Apple MacBook Pro 14in with PROLED XDR Display,Apple MacBook Pro 16in with PROLED XDR Display"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Nvidia's virtual GeForce 8800 GTX unboxing demo hasn't gone down well ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Nvidia has a new interactive demo out on Steam </strong></li><li><strong>It offers a virtual unboxing of a GeForce 8800 GTX… </strong></li><li><strong>…but you need an RTX 4070 to run it, and the recommended GPU is an RTX 5080</strong></li><li><strong>Some gamers feel that it's a 'slap in the face' for several reasons</strong></li></ul><p><a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">Can't afford a new GPU</a> thanks to the <a href="https://www.techradar.com/computing/memory/apples-ceo-john-ternus-warns-ram-cost-increases-are-now-unprecedented-and-it-makes-me-fear-the-worst-for-further-mac-price-hikes">ever-worsening RAM crisis</a>? Well, Nvidia wants to take you back to the days when a graphics card didn't destroy your bank balance, courtesy of a new demo on Steam where you get to unbox and install a GeForce GPU from 2006.</p><p><a href="https://www.theverge.com/news/1027400/nvidia-geforce-8800-gtx-unboxing-steam-demo" target="_blank">The Verge spotted</a> the interactive demo entitled 'GeForce 8800 GTX — 20 Years of a Legend' which can be <a href="https://store.steampowered.com/app/4910040/GeForce_8800_GTX_20_Years_of_a_Legend/" target="_blank">grabbed for free on Steam</a>.</p><p>It was developed by Dylan Browne, an Unreal Engine artist who was commissioned by Nvidia, and the demo is rendered in Unreal Engine (unsurprisingly). The idea is that you can: "Step into a 2006-era PC gaming room, unbox the GeForce 8800 GTX, inspect it up close, and install it in an era-accurate PC tower."</p><p>On the face of it, that's a rather fun idea — and it's smartly implemented to be fair, including revisiting Windows Vista on a CRT monitor — but if you start to think about it more deeply, this exercise seems more than a little tone deaf in the current PC components climate.</p><p>Have a watch of Nvidia's illustrative clip below first off, before we move on to discuss this one.</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/xPsc2QOzh0I" allowfullscreen=""></iframe></div></div><h2 id="analysis-ragebait-greed-and-a-lot-of-other-accusations-from-gamers">Analysis: ragebait, greed, and a lot of other accusations from gamers</h2><p>One of the most obvious sticking points here is the requirements to run this demo. What Nvidia GPU will you need to take part in a virtual unboxing? Here's a clue: it certainly won't run on a GeForce 8800 GTX. In fact you'll need an RTX 4070 at the minimum, and the recommended GPU as per the Steam specs is a… wait for it… RTX 5080. (You must have 32GB of RAM, as well, at minimum).</p><p>And this comes at a time when the RAM crisis has made that RTX 5080 soar in price to over double its MSRP in the US, and with hefty inflation evident in all countries (over 50% in the UK for example). Don't even start with the RTX 5090, and as we've seen, even <a href="https://www.techradar.com/computing/gpu/the-probability-is-extremely-high-that-nvidias-rumored-rtx-5080-super-has-been-delayed-and-with-gpu-prices-rocketing-upwards-the-future-looks-bleak">lower-end graphics cards are being hit hard with price hikes</a>.</p><p>As <a href="https://www.reddit.com/r/pcmasterrace/comments/1xoji1h/comment/19s6lg6hgyqzo/" target="_blank">one Redditor put it neatly</a> (with the swearing removed): "A 5080 for an unboxing simulator. They are just laughing in our faces."</p><p>Another in that thread replies to say: "Ragebait? You are not able to afford a real graphics card — here, take this virtual one?"</p><p>Speaking of rage, there's quite an outpouring of it in the comments for Nvidia's YouTube video (the one embedded above), such as: "Great job, today consumers have no chance to be able to afford new high end gaming video cards in favor of greed and AI money. A 5090 is $10-15k, and a 5080 is $2k or more — it's a slap in the face to post this tbh."</p><p>Nvidia has a clear priority for AI, data centers and profits over consumers and gaming GPUs – and it's a business, that's where the money lies, we get that. Shareholders for-the-win and so forth, but given that, the thoughtlessness of this little PR nugget is pretty staggering really.</p><p>What sort of reaction did Nvidia expect it would get? Okay, there are some Redditors reminiscing about the good old days of 2006, and the 8800 GTX that they owned. However, many more are simply bitter (or indeed incandescent) that Nvidia appears to be reminding us of better times, having done a good deal to cause the GPU pricing pain which is now prevalent thanks to <a href="https://www.techradar.com/computing/gpu/is-the-gpu-stock-crisis-down-to-real-shortages-or-has-the-market-been-manipulated-gamers-wont-like-the-theory-floated-by-one-analyst">chasing AI profits</a>. While asking for a high-end, now ridiculously expensive, Blackwell GPU to run the demo (at the recommended level).</p><p>The GeForce 8800 GTX was $599 as a top-end monster GPU when it arrived, and if you want an RTX 5090 these days, you'll pay over 15x that amount. I would think that Nvidia would want to do <em>anything but</em> take a nostalgic trip back to the days of relatively affordable high-end graphics cards at this point in time.</p><p>Maybe Team Green should have saved this one for the card's 25th anniversary. Will the RAM crisis be over by then?</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/gpu/nvidias-new-steam-demo-lets-you-virtually-install-a-geforce-8800-gtx-in-a-windows-vista-pc-but-it-has-enraged-many-gamers</link>
                                                                            <description>
                            <![CDATA[ 'An RTX 5080 for an unboxing simulator? They are just laughing in our faces' ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">EfNrQww2ybfbGnLGBSRSZY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/b4BaqDTfZg32izULhgfJ2T-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 17:29:23 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Nov 2026 18:33:36 +0000</updated>
                                                                                                                                            <category><![CDATA[GPU]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/b4BaqDTfZg32izULhgfJ2T-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Upset young man plays computer games at home.]]></media:description>                                                            <media:text><![CDATA[Upset young man plays computer games at home.]]></media:text>
                                <media:title type="plain"><![CDATA[Upset young man plays computer games at home.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/b4BaqDTfZg32izULhgfJ2T-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Nvidia has a new interactive demo out on Steam </strong></li><li><strong>It offers a virtual unboxing of a GeForce 8800 GTX… </strong></li><li><strong>…but you need an RTX 4070 to run it, and the recommended GPU is an RTX 5080</strong></li><li><strong>Some gamers feel that it's a 'slap in the face' for several reasons</strong></li></ul><p><a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">Can't afford a new GPU</a> thanks to the <a href="https://www.techradar.com/computing/memory/apples-ceo-john-ternus-warns-ram-cost-increases-are-now-unprecedented-and-it-makes-me-fear-the-worst-for-further-mac-price-hikes">ever-worsening RAM crisis</a>? Well, Nvidia wants to take you back to the days when a graphics card didn't destroy your bank balance, courtesy of a new demo on Steam where you get to unbox and install a GeForce GPU from 2006.</p><p><a href="https://www.theverge.com/news/1027400/nvidia-geforce-8800-gtx-unboxing-steam-demo" target="_blank">The Verge spotted</a> the interactive demo entitled 'GeForce 8800 GTX — 20 Years of a Legend' which can be <a href="https://store.steampowered.com/app/4910040/GeForce_8800_GTX_20_Years_of_a_Legend/" target="_blank">grabbed for free on Steam</a>.</p><p>It was developed by Dylan Browne, an Unreal Engine artist who was commissioned by Nvidia, and the demo is rendered in Unreal Engine (unsurprisingly). The idea is that you can: "Step into a 2006-era PC gaming room, unbox the GeForce 8800 GTX, inspect it up close, and install it in an era-accurate PC tower."</p><p>On the face of it, that's a rather fun idea — and it's smartly implemented to be fair, including revisiting Windows Vista on a CRT monitor — but if you start to think about it more deeply, this exercise seems more than a little tone deaf in the current PC components climate.</p><p>Have a watch of Nvidia's illustrative clip below first off, before we move on to discuss this one.</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/xPsc2QOzh0I" allowfullscreen=""></iframe></div></div><h2 id="analysis-ragebait-greed-and-a-lot-of-other-accusations-from-gamers">Analysis: ragebait, greed, and a lot of other accusations from gamers</h2><p>One of the most obvious sticking points here is the requirements to run this demo. What Nvidia GPU will you need to take part in a virtual unboxing? Here's a clue: it certainly won't run on a GeForce 8800 GTX. In fact you'll need an RTX 4070 at the minimum, and the recommended GPU as per the Steam specs is a… wait for it… RTX 5080. (You must have 32GB of RAM, as well, at minimum).</p><p>And this comes at a time when the RAM crisis has made that RTX 5080 soar in price to over double its MSRP in the US, and with hefty inflation evident in all countries (over 50% in the UK for example). Don't even start with the RTX 5090, and as we've seen, even <a href="https://www.techradar.com/computing/gpu/the-probability-is-extremely-high-that-nvidias-rumored-rtx-5080-super-has-been-delayed-and-with-gpu-prices-rocketing-upwards-the-future-looks-bleak">lower-end graphics cards are being hit hard with price hikes</a>.</p><p>As <a href="https://www.reddit.com/r/pcmasterrace/comments/1xoji1h/comment/19s6lg6hgyqzo/" target="_blank">one Redditor put it neatly</a> (with the swearing removed): "A 5080 for an unboxing simulator. They are just laughing in our faces."</p><p>Another in that thread replies to say: "Ragebait? You are not able to afford a real graphics card — here, take this virtual one?"</p><p>Speaking of rage, there's quite an outpouring of it in the comments for Nvidia's YouTube video (the one embedded above), such as: "Great job, today consumers have no chance to be able to afford new high end gaming video cards in favor of greed and AI money. A 5090 is $10-15k, and a 5080 is $2k or more — it's a slap in the face to post this tbh."</p><p>Nvidia has a clear priority for AI, data centers and profits over consumers and gaming GPUs – and it's a business, that's where the money lies, we get that. Shareholders for-the-win and so forth, but given that, the thoughtlessness of this little PR nugget is pretty staggering really.</p><p>What sort of reaction did Nvidia expect it would get? Okay, there are some Redditors reminiscing about the good old days of 2006, and the 8800 GTX that they owned. However, many more are simply bitter (or indeed incandescent) that Nvidia appears to be reminding us of better times, having done a good deal to cause the GPU pricing pain which is now prevalent thanks to <a href="https://www.techradar.com/computing/gpu/is-the-gpu-stock-crisis-down-to-real-shortages-or-has-the-market-been-manipulated-gamers-wont-like-the-theory-floated-by-one-analyst">chasing AI profits</a>. While asking for a high-end, now ridiculously expensive, Blackwell GPU to run the demo (at the recommended level).</p><p>The GeForce 8800 GTX was $599 as a top-end monster GPU when it arrived, and if you want an RTX 5090 these days, you'll pay over 15x that amount. I would think that Nvidia would want to do <em>anything but</em> take a nostalgic trip back to the days of relatively affordable high-end graphics cards at this point in time.</p><p>Maybe Team Green should have saved this one for the card's 25th anniversary. Will the RAM crisis be over by then?</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ A device in the White House is apparently using an unsafe proxy — which attackers could use it 'to reach internal systems' ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Researchers spot White House network traffic being routed through dozens of residential proxy services</strong></li><li><strong>Findings suggest a device on government infrastructure may have been enrolled in a proxy network</strong></li><li><strong>Security experts warn proxy services on sensitive networks could enable abuse, anonymity, and potential lateral movement</strong></li></ul><p>The IT network at the White House was seen routing traffic for at least 28 residential proxy services, meaning there is a strong chance government infrastructure is being abused by (malicious) third parties, cybersecurity experts are warning.</p><p>Security researchers at Layer3 Intel published a new <a href="https://layer3intel.com/blog/residential-proxies-white-house-network" target="_blank" rel="nofollow">report</a>, saying they saw 236 instances of <a href="https://www.techradar.com/best/best-residential-proxy" target="_blank">residential proxy</a> traffic originating from AS2650. That is the name of an autonomous system registered to the Executive Office of the President, the federal agency that hosts the White House network.</p><p>The researchers observed the traffic between October 5 and November 3 2026, and said that in 26 of the 30 days of observation, six IP addresses kept appearing. </p><h2 id="dozens-of-proxies">Dozens of proxies</h2><p>“This is public access,” the researchers said. “Anybody can obtain it by signing up to a public residential proxy service, paying a few dollars and sending requests through it.”</p><p>Residential proxy is a service with a self-explanatory name: paying customers can route their internet traffic through devices connected to residential internet connections (households, essentially), making it appear as though their requests originate from those connections rather than their own. They are not malicious per se, and have legitimate uses, but they’ve become popular among cybercriminals looking to hide their identities, evade security controls, and distribute malicious traffic. </p><p>Now, according to Layer 3 intel, 28 different residential proxy providers were able to route traffic through the White House network. The researchers cross-checked the IP addresses against public databases maintained by residential proxy detection companies Spur and Synthient, and both identified them as proxy exits. </p><p>Apparently, the researchers did not set out to analyze the White House’s network. Instead, they said they were testing a newly launched platform that “gives researchers a global view of residential proxy and anonymized internet activity,” and stumbled upon the activity while requesting rotating access through residential proxy services. </p><p>The cybersecurity community did not seem all too surprised with the news. In a <a href="https://www.reddit.com/r/technology/comments/1xo1gvc/residential_proxies_detected_on_white_house/" target="_blank" rel="nofollow">Reddit discussion</a>, IT experts shared their experience with senior leadership, both in public and private sector organizations, saying many were happily sacrificing security for convenience, opting not to install 2FA, or leaving their devices and email inboxes wide open. </p><p>One reader suspected someone in the White House “probably installed a sketchy free app on their phone, and now strangers are browsing the internet through the building's connection.”</p><p>The timing of the activity is also worth a mention. Around half of the observed connections happened between 5pm and midnight, Eastern time, with almost no activity recorded during the early morning. Layer3 Intel surmised that a device was regularly connecting to the White House network during evening hours, potentially one compromised by a residential proxy SDK.</p><h2 id="reaching-internal-systems">Reaching internal systems</h2><p>“That pattern suggests a person rather than a public guest Wi-Fi network: someone regularly on the White House network late into the evening, whose device is infected with a proxy SDK,” the researchers explained.</p><p>The researchers also pointed out that poorly secured proxy SDKs can allow internal network access and lateral movement. “This is how past botnets have spread,” they said. “If an SDK on this network has the same kind of flaw, anyone buying proxy access could use it to reach internal systems.”</p><p>There are plenty of other unanswered questions, too. For example, the researchers acknowledged that the data only shows network exits, not specific devices. Therefore, they don’t know if the activity is coming from a personal device, a guest network, or an entirely different source. </p><p>The White House discovery was not the only unusual thing Layer3 Intel laid out in its report. They also reported seeing residential proxy activity in some of the most remote players on the planet: Saint Helena, Ascension and Tristan da Cunha, a remote South Atlantic territory. The researchers saw 413 IP addresses and more than 32,000 observations on these locations, involving Elon Musk’s Starlink internet, as well as local internet service provider Sure Saint Helena. </p><p>The researchers also detected activity related to residential proxy networks in Antarctica, the Falkland Islands, the Chagos Islands, Tokelau, South Georgia, Pitcairn and Svalbard.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/a-device-in-the-white-house-is-apparently-using-an-unsafe-proxy-which-attackers-could-use-it-to-reach-internal-systems</link>
                                                                            <description>
                            <![CDATA[ Someone in the White House “probably installed a sketchy free app on their phone" - and now strangers are browsing the internet through the building's connection. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2FdaM8UxnpF7mVMCpz3yif</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UtBhmnGFmNskmYUU3kmSaY-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 17:10:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/UtBhmnGFmNskmYUU3kmSaY-1920-80.jpg">
                                                            <media:credit><![CDATA[Mark Makela/Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[watch biden inauguration day 2021]]></media:description>                                                            <media:text><![CDATA[watch biden inauguration day 2021]]></media:text>
                                <media:title type="plain"><![CDATA[watch biden inauguration day 2021]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UtBhmnGFmNskmYUU3kmSaY-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Researchers spot White House network traffic being routed through dozens of residential proxy services</strong></li><li><strong>Findings suggest a device on government infrastructure may have been enrolled in a proxy network</strong></li><li><strong>Security experts warn proxy services on sensitive networks could enable abuse, anonymity, and potential lateral movement</strong></li></ul><p>The IT network at the White House was seen routing traffic for at least 28 residential proxy services, meaning there is a strong chance government infrastructure is being abused by (malicious) third parties, cybersecurity experts are warning.</p><p>Security researchers at Layer3 Intel published a new <a href="https://layer3intel.com/blog/residential-proxies-white-house-network" target="_blank" rel="nofollow">report</a>, saying they saw 236 instances of <a href="https://www.techradar.com/best/best-residential-proxy" target="_blank">residential proxy</a> traffic originating from AS2650. That is the name of an autonomous system registered to the Executive Office of the President, the federal agency that hosts the White House network.</p><p>The researchers observed the traffic between October 5 and November 3 2026, and said that in 26 of the 30 days of observation, six IP addresses kept appearing. </p><h2 id="dozens-of-proxies">Dozens of proxies</h2><p>“This is public access,” the researchers said. “Anybody can obtain it by signing up to a public residential proxy service, paying a few dollars and sending requests through it.”</p><p>Residential proxy is a service with a self-explanatory name: paying customers can route their internet traffic through devices connected to residential internet connections (households, essentially), making it appear as though their requests originate from those connections rather than their own. They are not malicious per se, and have legitimate uses, but they’ve become popular among cybercriminals looking to hide their identities, evade security controls, and distribute malicious traffic. </p><p>Now, according to Layer 3 intel, 28 different residential proxy providers were able to route traffic through the White House network. The researchers cross-checked the IP addresses against public databases maintained by residential proxy detection companies Spur and Synthient, and both identified them as proxy exits. </p><p>Apparently, the researchers did not set out to analyze the White House’s network. Instead, they said they were testing a newly launched platform that “gives researchers a global view of residential proxy and anonymized internet activity,” and stumbled upon the activity while requesting rotating access through residential proxy services. </p><p>The cybersecurity community did not seem all too surprised with the news. In a <a href="https://www.reddit.com/r/technology/comments/1xo1gvc/residential_proxies_detected_on_white_house/" target="_blank" rel="nofollow">Reddit discussion</a>, IT experts shared their experience with senior leadership, both in public and private sector organizations, saying many were happily sacrificing security for convenience, opting not to install 2FA, or leaving their devices and email inboxes wide open. </p><p>One reader suspected someone in the White House “probably installed a sketchy free app on their phone, and now strangers are browsing the internet through the building's connection.”</p><p>The timing of the activity is also worth a mention. Around half of the observed connections happened between 5pm and midnight, Eastern time, with almost no activity recorded during the early morning. Layer3 Intel surmised that a device was regularly connecting to the White House network during evening hours, potentially one compromised by a residential proxy SDK.</p><h2 id="reaching-internal-systems">Reaching internal systems</h2><p>“That pattern suggests a person rather than a public guest Wi-Fi network: someone regularly on the White House network late into the evening, whose device is infected with a proxy SDK,” the researchers explained.</p><p>The researchers also pointed out that poorly secured proxy SDKs can allow internal network access and lateral movement. “This is how past botnets have spread,” they said. “If an SDK on this network has the same kind of flaw, anyone buying proxy access could use it to reach internal systems.”</p><p>There are plenty of other unanswered questions, too. For example, the researchers acknowledged that the data only shows network exits, not specific devices. Therefore, they don’t know if the activity is coming from a personal device, a guest network, or an entirely different source. </p><p>The White House discovery was not the only unusual thing Layer3 Intel laid out in its report. They also reported seeing residential proxy activity in some of the most remote players on the planet: Saint Helena, Ascension and Tristan da Cunha, a remote South Atlantic territory. The researchers saw 413 IP addresses and more than 32,000 observations on these locations, involving Elon Musk’s Starlink internet, as well as local internet service provider Sure Saint Helena. </p><p>The researchers also detected activity related to residential proxy networks in Antarctica, the Falkland Islands, the Chagos Islands, Tokelau, South Georgia, Pitcairn and Svalbard.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I wanted to love the Razer Basilisk V4 Pro gaming mouse, but there were just a few too many flaws ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-razer-basilisk-v4-pro-two-minute-review"><span>Razer Basilisk V4 Pro two-minute review</span></h2><p>One of the first gaming mice I ever used was a Razer Basilisk, and I enjoyed it so much I wore the grippy rubber sides down until they were completely smooth. I’ve moved over to much more lightweight pointers in the years since, but with Razer launching the Basilisk V4 Pro, has the company done enough to tempt me back and resurrect that fond old love affair? </p><p>Spoiler alert: not completely. Because while the Basilisk V4 Pro is an excellent upgrade over its predecessor, it also comes with a few drawbacks that prevent it from being a total must-buy. It’s a great <a href="https://www.techradar.com/news/best-gaming-mouse">gaming mouse </a>and might be ideal in the right (large) hands, but don’t go into this expecting perfection. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/J8KoVkiUmypVrSn7Upap7V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mFaJxyNgLLcv4JBi8yeC9V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Let’s start with the positives. Razer has kept the Basilisk’s familiar ergonomic form factor, which is best suited to palm grip users, and its comfortable sculpted shape fits snugly into your hand. The build quality is also good, with solid plastics throughout and grippy textured finishes on the sides. And while it’s still a fairly hefty 100g, that’s still 10% lighter than the 112g Basilisk V3 Pro. </p><p>Battery life has increased to 200 hours in 2.4GHz mode at a 1,000Hz polling rate, or 275 hours on Bluetooth LE — up from 140 hours and 210 hours on the <a href="https://www.techradar.com/computing/mice/razer-basilisk-v3-pro-35k-everyday-excellence">Basilisk V3 Pro</a>. Note that that’s with the RGB lighting disabled. My review unit arrived with 66% battery, and in my testing (using it in 2.4GHz mode with a 1,000Hz polling rate and the RGB switched on), that dropped to 0% after 45 hours, so you can probably expect just under 70 hours on a full charge when using these settings. That’s a sizeable drop on 200 hours, but you’ll get much more juice if you dim the RGB lights.</p><p>Compared to the Basilisk V4 Pro’s predecessor, Razer has outfitted the latest version with a couple of extra buttons: one on the top-left corner of the left click and another next to the side buttons. That means you’ve now got 14 customizable controls on this device, making it a sort of halfway solution between a regular mouse and the button-crazy <a href="https://www.techradar.com/computing/mice/razer-naga-v3-pro">Razer Naga V3 Pro</a>. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6ocieH7eXm3XdtVGCYNJNV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xnky8VCZwxBxojkqHS8VHV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>One of those buttons — the additional on one the side — could be assigned to Razer’s “Perfect 180” feature, the company suggested. This instantly spins your in-game character around 180 degrees, and if you think that sounds like cheating, you might have a point — even Razer admitted to us that they thought it could get banned in competitive games. Still, until that happens… </p><p>Razer also told us it had made the left and right click buttons sound less “ticky,” and they do have a satisfyingly soft and quiet actuation, one that’s a little less piercing to the ears than those on the <a href="https://www.techradar.com/computing/mice/razer-viper-v4-pro-review">Viper V4 Pro</a>. They’re not silent, but they’re pleasing in use. </p><p>Sandwiched between those buttons is Razer’s HyperSpeed scroll wheel that, while not strictly a gaming feature, might be one of the Basilisk V4 Pro’s best aspects. You can set it to spin freely or ratchet (with two strength options) in Razer’s Synapse app, but its real party trick is its Smart-Reel feature. If you’ve set it to ratchet, a quick spin of the wheel automatically flips it into free-spin mode; put the brakes on and it moves back to ratcheting. It’s a great way to rapidly move through documents and spreadsheets without having to manually change modes. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/E6MSFamSSNarwd64fhnSAV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Gb2nDFQqy7QEy6FHwPQoMV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>But while I liked the HyperScroll wheel, I didn’t <em>love</em> it. Every time it switches modes (from free spinning to ratcheting, say), there’s a loud and slightly disconcerting crunching sound that starts to grate after a while. </p><p>Pushing it in to click the scroll wheel also feels very soft and mushy — it’s imprecise compared with Razer’s own alternatives like the Viper V4 Pro, which is much crisper to click. It’s a welcome feature on the mouse, but it’s clearly inferior to the MagSpeed wheel you’ll find on the Logitech MX Master 4. </p><p>This was something I found time and again with the Basilisk V4 Pro: I’d often be pleased with one feature, only to observe a downside to it after I’d used it a little more. I was happy to see an extra side button that I could program to my needs, for instance, but then started to notice it getting in the way and messing up my two-side-button muscle memory.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/VfKXgdH34vpkZ8Ph4JRs5V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Bgh5xrv3rFNSNbDCnvGoGV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Or take the RGB lighting as another example: it looks lovely (especially on the Spectrum Cycling setting), but considering you never look at the mouse when using it, and your hand covers it up anyway, it felt a little pointless. Perhaps Razer could have done away with it and eked more battery life out of the Basilisk. </p><p>Ultimately, the Basilisk V4 Pro hasn’t converted me back to its temptingly sculpted form factor. It offers a capable combination of features, buttons and comfort, and for many gamers — especially those with larger hands — it’ll be an attractive option. It’s still one of the best gaming mice around, despite its drawbacks. </p><p>But for every two steps forward, there’s one step back that tempers its progress, whether that’s the imperfect HyperScroll wheel, the hard-to-reach buttons for all but palm grip users or the questionable, battery-draining RGB. I went into this looking to rekindle my love for an old flame, but in the end, I found myself stuck in the Basilisk’s friend zone.</p><h2 class="article-body__section" id="section-razer-basilisk-v4-pro-price-release-date"><span>Razer Basilisk V4 Pro: Price &amp; release date</span></h2><ul><li><strong>Available to buy now</strong></li><li><strong>Priced at $169.99 / £169.99 / $289.95 AUD</strong></li></ul><p>The Razer Basilisk V4 Pro is priced at $169.99 / £169.99 / $289.95 AUD and is available now from Razer’s website and third-party retailers. Its price has crept up by $10 / £10 / $10 AUD versus the Basilisk V3 Pro 35K.</p><h2 class="article-body__section" id="section-razer-basilisk-v4-pro-review-specs"><span>Razer Basilisk V4 Pro review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Razer HyperSpeed Wireless Gen-2 (2.4GHz), Bluetooth 6.2, wired (USB-A to USB-C)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 200 hours (2.4GHz), up to 275 hours (Bluetooth LE)</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>Razer Focus Pro 50K Optical Sensor Gen-3</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>Up to 8,000Hz (wireless and wired)</p></td></tr><tr><td class="firstcol " ><p>Maximum sensitivity (DPI)</p></td><td  ><p>50,000</p></td></tr><tr><td class="firstcol " ><p>Programmable buttons</p></td><td  ><p>14</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>127.5mm x 75.8mm x 42.7mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>100g (3.53oz)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-should-i-buy-the-razer-basilisk-v4-pro"><span>Should I buy the Razer Basilisk V4 Pro?</span></h2><div ><table><caption>Razer Basilisk V4 Pro Scorecard</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>14 customizable buttons, the HyperScroll wheel and some interesting software features</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>A great performer that’s stymied by a few notable stumbles, like the scroll wheel’s squishiness and the battery-draining RGB</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great build quality and a comfortable design, but it might not be best for smaller hands</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Very expensive, but you get plenty for your cash</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if…</h2><div class="product"><p><strong>You want a gaming all-rounder</strong><br />With plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856510e8-d6d4-11f1-9fcd-b5ec00701703" data-action="Deal Block" data-label="You want a gaming all-rounderWith plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas." data-dimension48="You want a gaming all-rounderWith plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You want the HyperScroll wheel</strong><br />Sure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="8565114c-d6d4-11f1-8c4c-93c5f3366c9e" data-action="Deal Block" data-label="You want the HyperScroll wheelSure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks." data-dimension48="You want the HyperScroll wheelSure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>Battery life is important to you</strong><br />With 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856511a6-d6d4-11f1-a4a5-7b27ffffe5f9" data-action="Deal Block" data-label="Battery life is important to youWith 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going." data-dimension48="Battery life is important to youWith 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going." data-dimension25="">View Deal</a></p></div><h2 id="don-t-buy-it-if">Don’t buy it if…</h2><div class="product"><p><strong>You prefer lightweight mice</strong><br />Razer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="85651264-d6d4-11f1-a83c-8dd8edc69c68" data-action="Deal Block" data-label="You prefer lightweight miceRazer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight." data-dimension48="You prefer lightweight miceRazer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You’re a fingertip user or have small hands</strong><br />Some of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856512c8-d6d4-11f1-ac42-b381941d220c" data-action="Deal Block" data-label="You’re a fingertip user or have small handsSome of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes." data-dimension48="You’re a fingertip user or have small handsSome of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You’re pinching the pennies</strong><br />$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="8565132c-d6d4-11f1-8269-c52756928c11" data-action="Deal Block" data-label="You’re pinching the pennies$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price." data-dimension48="You’re pinching the pennies$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-also-consider"><span>Also consider</span></h2><div class="product"><p><strong>Logitech G502 X Plus</strong><br />A superb gaming mouse that looks remarkably similar to the Basilisk V4 Pro, complete with ergonomic shape and a plethora of buttons, the Logitech G502 X Plus is a stunning addition to Logitech’s popular lineup.</p><p><a href="https://www.techradar.com/reviews/logitech-g502-x-plus" data-dimension112="856513ea-d6d4-11f1-a878-1306ee7c8659" data-action="Deal Block" data-label="Read our full Logitech G502 X Plus review" data-dimension48="Read our full Logitech G502 X Plus review" data-dimension25=""><strong>Read our full Logitech G502 X Plus review</strong></a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856513ea-d6d4-11f1-a878-1306ee7c8659" data-action="Deal Block" data-label="Read our full Logitech G502 X Plus review" data-dimension48="Read our full Logitech G502 X Plus review" data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>Corsair Nightsword V2 Wireless</strong><br />A more affordable option if you value ergonomics and customization, Corsair’s Nightsword V2 Wireless boasts long battery life and a high-quality sensor that makes it ideal for fast-paced gaming sessions.</p><p><a href="https://www.techradar.com/computing/mice/corsair-nightsword-v2-wireless-review" data-dimension112="85651444-d6d4-11f1-9ebc-ef89a6f84a7e" data-action="Deal Block" data-label="Read our full Corsair Nightsword V2 Wireless review" data-dimension48="Read our full Corsair Nightsword V2 Wireless review" data-dimension25=""><strong>Read our full Corsair Nightsword V2 Wireless review</strong></a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="85651444-d6d4-11f1-9ebc-ef89a6f84a7e" data-action="Deal Block" data-label="Read our full Corsair Nightsword V2 Wireless review" data-dimension48="Read our full Corsair Nightsword V2 Wireless review" data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-razer-basilisk-v4-pro"><span>How I tested the Razer Basilisk V4 Pro</span></h2><ul><li><strong>I spent a week testing the Razer Basilisk V4 Pro in various games to see how it managed in different genres </strong></li><li><strong>I also explored its customization options in the Razer Synapse app to see how well it could be adapted to different needs</strong></li></ul><p>I tested the Razer Basilisk V4 Pro over the course of a week. I used it for everyday tasks like browsing the web and writing this review, and tried it in a range of different games, including Call of Duty, Football Manager 27 and Stardew Valley. Additionally, I explored its customization options in the Razer Synapse app to see how easy it was to adjust its settings. </p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: November 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/mice/razer-basilisk-v4-pro</link>
                                                                            <description>
                            <![CDATA[ The Razer Basilisk V4 Pro advances the Basilisk lineup with some welcome new features, along with a handful of disappointments. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qXZQnoTrPXhZMPMfgv3M99</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/LAVtGiSVerrZeshYnmMZsU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 16:11:21 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mice]]></category>
                                                    <category><![CDATA[Gaming Accessories]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Peripherals & Accessories]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ alexblake.techradar@gmail.com (Alex Blake) ]]></author>                    <dc:creator><![CDATA[ Alex Blake ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwmVRU4zMGnDYsGVAFvRmL-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alex Blake has been fooling around with computers since the early 1990s, and since that time he&#039;s learned a thing or two about tech. No more than two things, though. That&#039;s all his brain can hold. As well as TechRadar, Alex writes for iMore, Digital Trends and Creative Bloq, among others. He was previously commissioning editor at MacFormat magazine. That means he mostly covers the world of Apple and its latest products, but also Windows, computer peripherals, mobile apps, and much more beyond. When not writing, you can find him hiking the English countryside and gaming on his PC.&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/LAVtGiSVerrZeshYnmMZsU-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Razer Basilisk V4 Pro mouse on a wooden desk.]]></media:description>                                                            <media:text><![CDATA[The Razer Basilisk V4 Pro mouse on a wooden desk.]]></media:text>
                                <media:title type="plain"><![CDATA[The Razer Basilisk V4 Pro mouse on a wooden desk.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/LAVtGiSVerrZeshYnmMZsU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-razer-basilisk-v4-pro-two-minute-review"><span>Razer Basilisk V4 Pro two-minute review</span></h2><p>One of the first gaming mice I ever used was a Razer Basilisk, and I enjoyed it so much I wore the grippy rubber sides down until they were completely smooth. I’ve moved over to much more lightweight pointers in the years since, but with Razer launching the Basilisk V4 Pro, has the company done enough to tempt me back and resurrect that fond old love affair? </p><p>Spoiler alert: not completely. Because while the Basilisk V4 Pro is an excellent upgrade over its predecessor, it also comes with a few drawbacks that prevent it from being a total must-buy. It’s a great <a href="https://www.techradar.com/news/best-gaming-mouse">gaming mouse </a>and might be ideal in the right (large) hands, but don’t go into this expecting perfection. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/J8KoVkiUmypVrSn7Upap7V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/mFaJxyNgLLcv4JBi8yeC9V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Let’s start with the positives. Razer has kept the Basilisk’s familiar ergonomic form factor, which is best suited to palm grip users, and its comfortable sculpted shape fits snugly into your hand. The build quality is also good, with solid plastics throughout and grippy textured finishes on the sides. And while it’s still a fairly hefty 100g, that’s still 10% lighter than the 112g Basilisk V3 Pro. </p><p>Battery life has increased to 200 hours in 2.4GHz mode at a 1,000Hz polling rate, or 275 hours on Bluetooth LE — up from 140 hours and 210 hours on the <a href="https://www.techradar.com/computing/mice/razer-basilisk-v3-pro-35k-everyday-excellence">Basilisk V3 Pro</a>. Note that that’s with the RGB lighting disabled. My review unit arrived with 66% battery, and in my testing (using it in 2.4GHz mode with a 1,000Hz polling rate and the RGB switched on), that dropped to 0% after 45 hours, so you can probably expect just under 70 hours on a full charge when using these settings. That’s a sizeable drop on 200 hours, but you’ll get much more juice if you dim the RGB lights.</p><p>Compared to the Basilisk V4 Pro’s predecessor, Razer has outfitted the latest version with a couple of extra buttons: one on the top-left corner of the left click and another next to the side buttons. That means you’ve now got 14 customizable controls on this device, making it a sort of halfway solution between a regular mouse and the button-crazy <a href="https://www.techradar.com/computing/mice/razer-naga-v3-pro">Razer Naga V3 Pro</a>. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/6ocieH7eXm3XdtVGCYNJNV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/xnky8VCZwxBxojkqHS8VHV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>One of those buttons — the additional on one the side — could be assigned to Razer’s “Perfect 180” feature, the company suggested. This instantly spins your in-game character around 180 degrees, and if you think that sounds like cheating, you might have a point — even Razer admitted to us that they thought it could get banned in competitive games. Still, until that happens… </p><p>Razer also told us it had made the left and right click buttons sound less “ticky,” and they do have a satisfyingly soft and quiet actuation, one that’s a little less piercing to the ears than those on the <a href="https://www.techradar.com/computing/mice/razer-viper-v4-pro-review">Viper V4 Pro</a>. They’re not silent, but they’re pleasing in use. </p><p>Sandwiched between those buttons is Razer’s HyperSpeed scroll wheel that, while not strictly a gaming feature, might be one of the Basilisk V4 Pro’s best aspects. You can set it to spin freely or ratchet (with two strength options) in Razer’s Synapse app, but its real party trick is its Smart-Reel feature. If you’ve set it to ratchet, a quick spin of the wheel automatically flips it into free-spin mode; put the brakes on and it moves back to ratcheting. It’s a great way to rapidly move through documents and spreadsheets without having to manually change modes. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/E6MSFamSSNarwd64fhnSAV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Gb2nDFQqy7QEy6FHwPQoMV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>But while I liked the HyperScroll wheel, I didn’t <em>love</em> it. Every time it switches modes (from free spinning to ratcheting, say), there’s a loud and slightly disconcerting crunching sound that starts to grate after a while. </p><p>Pushing it in to click the scroll wheel also feels very soft and mushy — it’s imprecise compared with Razer’s own alternatives like the Viper V4 Pro, which is much crisper to click. It’s a welcome feature on the mouse, but it’s clearly inferior to the MagSpeed wheel you’ll find on the Logitech MX Master 4. </p><p>This was something I found time and again with the Basilisk V4 Pro: I’d often be pleased with one feature, only to observe a downside to it after I’d used it a little more. I was happy to see an extra side button that I could program to my needs, for instance, but then started to notice it getting in the way and messing up my two-side-button muscle memory.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/VfKXgdH34vpkZ8Ph4JRs5V-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/Bgh5xrv3rFNSNbDCnvGoGV-1920-80.jpg" alt="The Razer Basilisk V4 Pro mouse on a wooden desk." /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>Or take the RGB lighting as another example: it looks lovely (especially on the Spectrum Cycling setting), but considering you never look at the mouse when using it, and your hand covers it up anyway, it felt a little pointless. Perhaps Razer could have done away with it and eked more battery life out of the Basilisk. </p><p>Ultimately, the Basilisk V4 Pro hasn’t converted me back to its temptingly sculpted form factor. It offers a capable combination of features, buttons and comfort, and for many gamers — especially those with larger hands — it’ll be an attractive option. It’s still one of the best gaming mice around, despite its drawbacks. </p><p>But for every two steps forward, there’s one step back that tempers its progress, whether that’s the imperfect HyperScroll wheel, the hard-to-reach buttons for all but palm grip users or the questionable, battery-draining RGB. I went into this looking to rekindle my love for an old flame, but in the end, I found myself stuck in the Basilisk’s friend zone.</p><h2 class="article-body__section" id="section-razer-basilisk-v4-pro-price-release-date"><span>Razer Basilisk V4 Pro: Price &amp; release date</span></h2><ul><li><strong>Available to buy now</strong></li><li><strong>Priced at $169.99 / £169.99 / $289.95 AUD</strong></li></ul><p>The Razer Basilisk V4 Pro is priced at $169.99 / £169.99 / $289.95 AUD and is available now from Razer’s website and third-party retailers. Its price has crept up by $10 / £10 / $10 AUD versus the Basilisk V3 Pro 35K.</p><h2 class="article-body__section" id="section-razer-basilisk-v4-pro-review-specs"><span>Razer Basilisk V4 Pro review: Specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Connectivity</p></td><td  ><p>Razer HyperSpeed Wireless Gen-2 (2.4GHz), Bluetooth 6.2, wired (USB-A to USB-C)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 200 hours (2.4GHz), up to 275 hours (Bluetooth LE)</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>Razer Focus Pro 50K Optical Sensor Gen-3</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>Up to 8,000Hz (wireless and wired)</p></td></tr><tr><td class="firstcol " ><p>Maximum sensitivity (DPI)</p></td><td  ><p>50,000</p></td></tr><tr><td class="firstcol " ><p>Programmable buttons</p></td><td  ><p>14</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>127.5mm x 75.8mm x 42.7mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>100g (3.53oz)</p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-should-i-buy-the-razer-basilisk-v4-pro"><span>Should I buy the Razer Basilisk V4 Pro?</span></h2><div ><table><caption>Razer Basilisk V4 Pro Scorecard</caption><thead><tr><th class="firstcol " ><p>Attribute</p></th><th  ><p>Notes</p></th><th  ><p>Score</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Features</p></td><td  ><p>14 customizable buttons, the HyperScroll wheel and some interesting software features</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>A great performer that’s stymied by a few notable stumbles, like the scroll wheel’s squishiness and the battery-draining RGB</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great build quality and a comfortable design, but it might not be best for smaller hands</p></td><td  ><p>4/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Very expensive, but you get plenty for your cash</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if">Buy it if…</h2><div class="product"><p><strong>You want a gaming all-rounder</strong><br />With plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856510e8-d6d4-11f1-9fcd-b5ec00701703" data-action="Deal Block" data-label="You want a gaming all-rounderWith plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas." data-dimension48="You want a gaming all-rounderWith plenty of buttons and a comfy ergonomic shape, the Basilisk V4 Pro excels in many different areas." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You want the HyperScroll wheel</strong><br />Sure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="8565114c-d6d4-11f1-8c4c-93c5f3366c9e" data-action="Deal Block" data-label="You want the HyperScroll wheelSure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks." data-dimension48="You want the HyperScroll wheelSure, it’s not perfect, but Razer’s HyperScroll wheel is still a welcome addition that elevates the mouse, especially when it comes to productivity and everyday tasks." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>Battery life is important to you</strong><br />With 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856511a6-d6d4-11f1-a4a5-7b27ffffe5f9" data-action="Deal Block" data-label="Battery life is important to youWith 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going." data-dimension48="Battery life is important to youWith 200 hours of juice — or 275 hours on Bluetooth LE — this mouse just keeps going and going and going." data-dimension25="">View Deal</a></p></div><h2 id="don-t-buy-it-if">Don’t buy it if…</h2><div class="product"><p><strong>You prefer lightweight mice</strong><br />Razer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="85651264-d6d4-11f1-a83c-8dd8edc69c68" data-action="Deal Block" data-label="You prefer lightweight miceRazer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight." data-dimension48="You prefer lightweight miceRazer has cut the Basilisk’s weight by 10% compared to its predecessor, but it’s still far from what we’d call lightweight." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You’re a fingertip user or have small hands</strong><br />Some of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856512c8-d6d4-11f1-ac42-b381941d220c" data-action="Deal Block" data-label="You’re a fingertip user or have small handsSome of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes." data-dimension48="You’re a fingertip user or have small handsSome of the new buttons on the Basilisk V4 Pro are hard to reach for certain grips and hand sizes." data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>You’re pinching the pennies</strong><br />$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="8565132c-d6d4-11f1-8269-c52756928c11" data-action="Deal Block" data-label="You’re pinching the pennies$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price." data-dimension48="You’re pinching the pennies$169.99 / £169.99 / $289.95 AUD is an awful lot to pay for a mouse, and there are many capable options that will cost you less than half of Razer’s asking price." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-also-consider"><span>Also consider</span></h2><div class="product"><p><strong>Logitech G502 X Plus</strong><br />A superb gaming mouse that looks remarkably similar to the Basilisk V4 Pro, complete with ergonomic shape and a plethora of buttons, the Logitech G502 X Plus is a stunning addition to Logitech’s popular lineup.</p><p><a href="https://www.techradar.com/reviews/logitech-g502-x-plus" data-dimension112="856513ea-d6d4-11f1-a878-1306ee7c8659" data-action="Deal Block" data-label="Read our full Logitech G502 X Plus review" data-dimension48="Read our full Logitech G502 X Plus review" data-dimension25=""><strong>Read our full Logitech G502 X Plus review</strong></a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="856513ea-d6d4-11f1-a878-1306ee7c8659" data-action="Deal Block" data-label="Read our full Logitech G502 X Plus review" data-dimension48="Read our full Logitech G502 X Plus review" data-dimension25="">View Deal</a></p></div><div class="product"><p><strong>Corsair Nightsword V2 Wireless</strong><br />A more affordable option if you value ergonomics and customization, Corsair’s Nightsword V2 Wireless boasts long battery life and a high-quality sensor that makes it ideal for fast-paced gaming sessions.</p><p><a href="https://www.techradar.com/computing/mice/corsair-nightsword-v2-wireless-review" data-dimension112="85651444-d6d4-11f1-9ebc-ef89a6f84a7e" data-action="Deal Block" data-label="Read our full Corsair Nightsword V2 Wireless review" data-dimension48="Read our full Corsair Nightsword V2 Wireless review" data-dimension25=""><strong>Read our full Corsair Nightsword V2 Wireless review</strong></a><a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="85651444-d6d4-11f1-9ebc-ef89a6f84a7e" data-action="Deal Block" data-label="Read our full Corsair Nightsword V2 Wireless review" data-dimension48="Read our full Corsair Nightsword V2 Wireless review" data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-how-i-tested-the-razer-basilisk-v4-pro"><span>How I tested the Razer Basilisk V4 Pro</span></h2><ul><li><strong>I spent a week testing the Razer Basilisk V4 Pro in various games to see how it managed in different genres </strong></li><li><strong>I also explored its customization options in the Razer Synapse app to see how well it could be adapted to different needs</strong></li></ul><p>I tested the Razer Basilisk V4 Pro over the course of a week. I used it for everyday tasks like browsing the web and writing this review, and tried it in a range of different games, including Call of Duty, Football Manager 27 and Stardew Valley. Additionally, I explored its customization options in the Razer Synapse app to see how easy it was to adjust its settings. </p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: November 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ OpenAI says its cyber model found and patched nearly 1000 Linux kernel security issues ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>OpenAI used AI agents to analyze the Linux kernel, uncovering 948 distinct privilege-escalation vulnerabilities</strong></li><li><strong>The automated pipeline generated exploits, validated findings, and helped create patches for Linux maintainers</strong></li><li><strong>Researchers say AI is increasingly capable of finding and prioritizing serious software flaws at scale</strong></li></ul><p>OpenAI has spent more than a million dollars to analyze the <a href="https://www.techradar.com/best/best-linux-distros-for-windows-users" target="_blank">Linux kernel</a> code, and found thousands of vulnerabilities, including countless privilege escalation flaws that could have been quite problematic for the popular operating system.</p><p>The AI company published a new in-depth <a href="https://openai.com/index/a-thousand-fewer-paths-to-root/" target="_blank" rel="nofollow">report</a> describing how it built a five-stage pipeline that helped it surface thousands of vulnerabilities, identify which ones were actually dangerous, helped create patches, and ended up securing the Linux ecosystem some more. </p><p>The pipeline covered vulnerability discovery, dynamic validation, exploitability assessment, patch generation, and human review, and once it was done, it found 948 privilege escalation flaws in the Linux kernel.</p><h2 id="guerilla-marketing">Guerilla marketing</h2><p>“The Linux kernel underpins Android devices, cloud infrastructure, supercomputers, and other systems used by billions of people,” OpenAI said. </p><p>“With more than 40 million lines of code, the kernel exposes a broad attack surface through system calls, networking, filesystems, and device drivers. We chose Linux to study how effectively frontier models could find vulnerabilities and demonstrate their security impact in a codebase of this scale and importance.”</p><p>While the efforts are certainly commendable (especially the fact that the entire ordeal cost roughly $1.21 million in API credits), the report also reads like guerilla marketing for the company’s latest cyber model. After all, the report never mentions its name, apart from the fact that it is an “upcoming cyber model” that found 900+ flaws, which is then compared to GPT 5.5-Cyber which “developed 24 local privilege escalation exploits.”</p><p>That being said, the results cannot (and should not) be ignored. The first stage used AI agents to identify security-relevant parts of the kernel and scan them for potential flaws, and within 12 hours, more than 2,300 candidates emerged. Then, OpenAI used additional agents to generate proof-of-concept (PoC) code and test each candidate. The entire process lasted 30 hours, and the system successfully reproduced 1,724 findings (roughly 75% of the initial candidates), while just 3% of the remaining findings apparently came from incorrect model analysis. </p><p>In the next step, the agents ranked the vulnerabilities by impact, developing 1,169 working local privilege escalation exploits and 291 PoCs demonstrating information disclosure. After eliminating double entries and false positives, the researchers arrived at 948 distinct escalation flaws and built patches for them.</p><p>OpenAI said its researchers reviewed all of the generated exploits and patches before reaching out to Linux kernel maintainers. Following guidance from the Linux community, the team ranked the flaws by priority, and some seem to have already been patched. The remaining findings are currently being addressed, it was said. </p><h2 id="new-exploitation-techniques">New exploitation techniques</h2><p>“We provide the model with the relevant source code and prompt it with best practices in patch writing, such as performing static checks on the patch, following the software development practices used in nearby code, and performing variant analysis to make sure the patch is complete,” OpenAI explained the process.</p><p>Not all of the vulnerabilities were “brand new”, so to speak. OpenAI said Linux maintainers already patched 61 of the identified privilege elevation flaws by the time it completed its analysis, while another 43 had staging patches. Just under 300 (roughly a third) were being reported and discussed publicly, which is also worth putting into context. </p><p>On top of it all, the team examined 166 exploitation techniques and found 10 that were previously undocumented. They include kernel memory manipulation, page grooming, and privilege escalation through data-only attacks. OpenAI decided not to share the details on these flaws until they are fixed, in order not to give threat actors the upper hand. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/openai-says-its-cyber-model-found-and-patched-nearly-1000-linux-kernel-security-issues</link>
                                                                            <description>
                            <![CDATA[ The company is likely gearing up to announce a new cyber model. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rCuDuuarA8PHnsBmQbDDp7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/7DtE9RCVmUtmH2FAfvxsvM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 15:15:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/7DtE9RCVmUtmH2FAfvxsvM-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Malware attack virus alert , malicious software infection , cyber security awareness training to protect business]]></media:description>                                                            <media:text><![CDATA[Malware attack virus alert , malicious software infection , cyber security awareness training to protect business]]></media:text>
                                <media:title type="plain"><![CDATA[Malware attack virus alert , malicious software infection , cyber security awareness training to protect business]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/7DtE9RCVmUtmH2FAfvxsvM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>OpenAI used AI agents to analyze the Linux kernel, uncovering 948 distinct privilege-escalation vulnerabilities</strong></li><li><strong>The automated pipeline generated exploits, validated findings, and helped create patches for Linux maintainers</strong></li><li><strong>Researchers say AI is increasingly capable of finding and prioritizing serious software flaws at scale</strong></li></ul><p>OpenAI has spent more than a million dollars to analyze the <a href="https://www.techradar.com/best/best-linux-distros-for-windows-users" target="_blank">Linux kernel</a> code, and found thousands of vulnerabilities, including countless privilege escalation flaws that could have been quite problematic for the popular operating system.</p><p>The AI company published a new in-depth <a href="https://openai.com/index/a-thousand-fewer-paths-to-root/" target="_blank" rel="nofollow">report</a> describing how it built a five-stage pipeline that helped it surface thousands of vulnerabilities, identify which ones were actually dangerous, helped create patches, and ended up securing the Linux ecosystem some more. </p><p>The pipeline covered vulnerability discovery, dynamic validation, exploitability assessment, patch generation, and human review, and once it was done, it found 948 privilege escalation flaws in the Linux kernel.</p><h2 id="guerilla-marketing">Guerilla marketing</h2><p>“The Linux kernel underpins Android devices, cloud infrastructure, supercomputers, and other systems used by billions of people,” OpenAI said. </p><p>“With more than 40 million lines of code, the kernel exposes a broad attack surface through system calls, networking, filesystems, and device drivers. We chose Linux to study how effectively frontier models could find vulnerabilities and demonstrate their security impact in a codebase of this scale and importance.”</p><p>While the efforts are certainly commendable (especially the fact that the entire ordeal cost roughly $1.21 million in API credits), the report also reads like guerilla marketing for the company’s latest cyber model. After all, the report never mentions its name, apart from the fact that it is an “upcoming cyber model” that found 900+ flaws, which is then compared to GPT 5.5-Cyber which “developed 24 local privilege escalation exploits.”</p><p>That being said, the results cannot (and should not) be ignored. The first stage used AI agents to identify security-relevant parts of the kernel and scan them for potential flaws, and within 12 hours, more than 2,300 candidates emerged. Then, OpenAI used additional agents to generate proof-of-concept (PoC) code and test each candidate. The entire process lasted 30 hours, and the system successfully reproduced 1,724 findings (roughly 75% of the initial candidates), while just 3% of the remaining findings apparently came from incorrect model analysis. </p><p>In the next step, the agents ranked the vulnerabilities by impact, developing 1,169 working local privilege escalation exploits and 291 PoCs demonstrating information disclosure. After eliminating double entries and false positives, the researchers arrived at 948 distinct escalation flaws and built patches for them.</p><p>OpenAI said its researchers reviewed all of the generated exploits and patches before reaching out to Linux kernel maintainers. Following guidance from the Linux community, the team ranked the flaws by priority, and some seem to have already been patched. The remaining findings are currently being addressed, it was said. </p><h2 id="new-exploitation-techniques">New exploitation techniques</h2><p>“We provide the model with the relevant source code and prompt it with best practices in patch writing, such as performing static checks on the patch, following the software development practices used in nearby code, and performing variant analysis to make sure the patch is complete,” OpenAI explained the process.</p><p>Not all of the vulnerabilities were “brand new”, so to speak. OpenAI said Linux maintainers already patched 61 of the identified privilege elevation flaws by the time it completed its analysis, while another 43 had staging patches. Just under 300 (roughly a third) were being reported and discussed publicly, which is also worth putting into context. </p><p>On top of it all, the team examined 166 exploitation techniques and found 10 that were previously undocumented. They include kernel memory manipulation, page grooming, and privilege escalation through data-only attacks. OpenAI decided not to share the details on these flaws until they are fixed, in order not to give threat actors the upper hand. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ DreamHost admits major cyberattack saw hackers steal customer data and access inboxes ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>DreamHost discloses breach exposing FTP/SFTP credentials and some webmail account session data</strong></li><li><strong>Attackers exploited a vulnerability in the company’s File Manager service to access customer accounts</strong></li><li><strong>DreamHost reset affected passwords, offered credit monitoring, and urged users to strengthen account security</strong></li></ul><p>Popular <a href="https://www.techradar.com/web-hosting/best-web-hosting-service-websites" target="_blank">web hosting</a> provider DreamHost has confirmed threat actors walked away with login credentials to its customers’ hosting accounts, as well as webmail accounts. </p><p>It is now urging organizations to take steps to protect themselves, as it works to tighten up on security and make sure these things never happen again.</p><p>In a copy of a data breach notification letter sent to affected organizations, DreamHost said that roughly two weeks ago it discovered unauthorized third-party access to the server that runs its web-based File manager at files.DreamHost.com. </p><p>Access to the manager was compromised during August 2026, the company further said, adding that the threat actors walked in by exploiting a vulnerability in that software. </p><h2 id="payment-data-secure">Payment data secure</h2><p>The flaw, which the company did not detail or describe, granted the attackers access to FTP/SFTP usernames and passwords of logged-in individuals. Furthermore, they were able to reach some webmail systems and grab session information - including credentials - of a “limited number” of webmail users. </p><p>Cybercriminals having access to login credentials means that whatever information is stored inside File Manager and the webmail should also be considered compromised. Furthermore, it means the emails can be used to disseminate spam, launch phishing attacks, or even engage in highly disruptive Business Email Compromise (BEC) attacks that could be almost impossible to detect.</p><p>DreamHost did not discuss the identity of the attackers, and did not say if they reached out with an extortion attempt. “We believe this as a deliberate attack, and our team worked around the clock to contain it,” is all it said on the matter.    </p><p>The investigation is still ongoing so the information is inconclusive, but DreamHost said there is currently no evidence that the attackers accessed control panel login information or customer billing details. The company allegedly doesn’t store full payment card numbers and only retains a secure token representing the payment card information. This token cannot be used to make purchases elsewhere. </p><p>“However, our investigation is ongoing, and if we discover any significant additional information, we will update this post,” DreamHost said. </p><h2 id="dreamhost-s-response">DreamHost’s response</h2><p>In response to the incident, DreamHost said it “took steps” to stop the attackers from further accessing its systems, and to address the exploited vulnerability. </p><p>Active sessions of users who may have been affected have been terminated, and their passwords were reset. Therefore, if you try to log into your DreamHost account and see that the password was reset, consider your data breached. DreamHost claims to have implemented “additional security measures” to prevent such incidents from happening again, although it did not say exactly what was done. </p><p>“DreamHost also is working closely with outside legal advisors and security and forensics experts to ensure the incident is properly addressed,” it said.</p><p>In the meantime, it urged customers to review their statements and notify the police of any suspicious activity, as well as to obtain and monitor their credit card reports. The company also advised users place a fraud alert on their credit report. Detailed steps on what customers can do to defend themselves can be found on <a href="https://oag.ca.gov/system/files/DreamHost%20-%20Data%20Security%20Breach%20Notice%20Letter%20%28USA%20other%20than%20MA%29%20261102.1.pdf" target="_blank" rel="nofollow">this link</a>.</p><p>Finally, DreamHost offered all affected individuals one year of free credit report monitoring and identity theft protection services through Equifax which is more or less standard practice in these situations.</p><p>So far, no threat actors claimed responsibility for the breach, and the data has not yet leaked to the dark web. </p><p>This is not the first cybersecurity incident DreamHost has experienced. In 2012, attackers gained access to one of its database servers, potentially exposing customer FTB and shell-access passwords. The company responded by resetting affected passwords, although it reported no evidence of significant malicious activity against customer accounts. Five years later, in 2017, the company suffered a major Distributed Denial of Service (DDoS) attack against its DNS infrastructure, resulting in widespread connectivity issues for customers.</p><p><em>Via </em><a href="https://www.bleepingcomputer.com/news/security/dreamhost-confirms-data-breach-exposed-ftp-logins-and-webmail-sessions/" target="_blank"><em>BleepingComputer</em></a></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/dreamhost-admits-major-cyberattack-saw-hackers-steal-customer-data-and-access-inboxes</link>
                                                                            <description>
                            <![CDATA[ A software vulnerability allowed threat actors to obtain login credentials, putting files and emails at risk. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">yXi6oPGzTQ6vqLTvqwQ2RY</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/McsoqUDJ8JAM2vQ4GoVytn-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 14:37:33 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Nov 2026 14:37:38 +0000</updated>
                                                                                                                                            <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/McsoqUDJ8JAM2vQ4GoVytn-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Dreamhost hero image (Feb 2026)]]></media:description>                                                            <media:text><![CDATA[Dreamhost hero image (Feb 2026)]]></media:text>
                                <media:title type="plain"><![CDATA[Dreamhost hero image (Feb 2026)]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/McsoqUDJ8JAM2vQ4GoVytn-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>DreamHost discloses breach exposing FTP/SFTP credentials and some webmail account session data</strong></li><li><strong>Attackers exploited a vulnerability in the company’s File Manager service to access customer accounts</strong></li><li><strong>DreamHost reset affected passwords, offered credit monitoring, and urged users to strengthen account security</strong></li></ul><p>Popular <a href="https://www.techradar.com/web-hosting/best-web-hosting-service-websites" target="_blank">web hosting</a> provider DreamHost has confirmed threat actors walked away with login credentials to its customers’ hosting accounts, as well as webmail accounts. </p><p>It is now urging organizations to take steps to protect themselves, as it works to tighten up on security and make sure these things never happen again.</p><p>In a copy of a data breach notification letter sent to affected organizations, DreamHost said that roughly two weeks ago it discovered unauthorized third-party access to the server that runs its web-based File manager at files.DreamHost.com. </p><p>Access to the manager was compromised during August 2026, the company further said, adding that the threat actors walked in by exploiting a vulnerability in that software. </p><h2 id="payment-data-secure">Payment data secure</h2><p>The flaw, which the company did not detail or describe, granted the attackers access to FTP/SFTP usernames and passwords of logged-in individuals. Furthermore, they were able to reach some webmail systems and grab session information - including credentials - of a “limited number” of webmail users. </p><p>Cybercriminals having access to login credentials means that whatever information is stored inside File Manager and the webmail should also be considered compromised. Furthermore, it means the emails can be used to disseminate spam, launch phishing attacks, or even engage in highly disruptive Business Email Compromise (BEC) attacks that could be almost impossible to detect.</p><p>DreamHost did not discuss the identity of the attackers, and did not say if they reached out with an extortion attempt. “We believe this as a deliberate attack, and our team worked around the clock to contain it,” is all it said on the matter.    </p><p>The investigation is still ongoing so the information is inconclusive, but DreamHost said there is currently no evidence that the attackers accessed control panel login information or customer billing details. The company allegedly doesn’t store full payment card numbers and only retains a secure token representing the payment card information. This token cannot be used to make purchases elsewhere. </p><p>“However, our investigation is ongoing, and if we discover any significant additional information, we will update this post,” DreamHost said. </p><h2 id="dreamhost-s-response">DreamHost’s response</h2><p>In response to the incident, DreamHost said it “took steps” to stop the attackers from further accessing its systems, and to address the exploited vulnerability. </p><p>Active sessions of users who may have been affected have been terminated, and their passwords were reset. Therefore, if you try to log into your DreamHost account and see that the password was reset, consider your data breached. DreamHost claims to have implemented “additional security measures” to prevent such incidents from happening again, although it did not say exactly what was done. </p><p>“DreamHost also is working closely with outside legal advisors and security and forensics experts to ensure the incident is properly addressed,” it said.</p><p>In the meantime, it urged customers to review their statements and notify the police of any suspicious activity, as well as to obtain and monitor their credit card reports. The company also advised users place a fraud alert on their credit report. Detailed steps on what customers can do to defend themselves can be found on <a href="https://oag.ca.gov/system/files/DreamHost%20-%20Data%20Security%20Breach%20Notice%20Letter%20%28USA%20other%20than%20MA%29%20261102.1.pdf" target="_blank" rel="nofollow">this link</a>.</p><p>Finally, DreamHost offered all affected individuals one year of free credit report monitoring and identity theft protection services through Equifax which is more or less standard practice in these situations.</p><p>So far, no threat actors claimed responsibility for the breach, and the data has not yet leaked to the dark web. </p><p>This is not the first cybersecurity incident DreamHost has experienced. In 2012, attackers gained access to one of its database servers, potentially exposing customer FTB and shell-access passwords. The company responded by resetting affected passwords, although it reported no evidence of significant malicious activity against customer accounts. Five years later, in 2017, the company suffered a major Distributed Denial of Service (DDoS) attack against its DNS infrastructure, resulting in widespread connectivity issues for customers.</p><p><em>Via </em><a href="https://www.bleepingcomputer.com/news/security/dreamhost-confirms-data-breach-exposed-ftp-logins-and-webmail-sessions/" target="_blank"><em>BleepingComputer</em></a></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've tested Apple's new M6 iMac, and it's still the best all-in-one desktop you can buy ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-at-a-glance-apple-imac-24-inch-m6-review"><span>At a glance: Apple iMac 24-inch (M6) Review</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's iMac with M6 is the latest generation of its all-in-one desktop. Like the M4, M3, and M1 before it, it keeps the modern, colorful design and slim build and includes a keyboard and mouse (or trackpad). Out of the box it's running macOS 27.2, and it's a capable desktop for creative work, productivity, and everyday tasks.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>Good news: Apple hasn't increased the starting price. For $1,499, you get an M6 chip with a 10-core CPU, 10-core GPU, and Dual 16-core Neural Engine, plus 16GB of RAM and 256GB of storage. A $1,699 configuration upgrades to a 12-core CPU and GPU and 512GB of storage. Nano-texture glass, additional Thunderbolt 4 ports, and Ethernet are also available as options.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's Mac mini with M6 is the closest alternative, and lets you choose your own display, keyboard, and mouse. There's also the more powerful Mac Studio with M5 Max or M5 Ultra, alongside plenty of Windows desktop options.</p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793883784574-d3q53im6l *, #fv-chart-1793883784574-d3q53im6l *:before, #fv-chart-1793883784574-d3q53im6l *:after, #fv-chart-1793883784574-d3q53im6l-slideshow *, #fv-chart-1793883784574-d3q53im6l-slideshow *:before, #fv-chart-1793883784574-d3q53im6l-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793883784574-d3q53im6l, #fv-chart-1793883784574-d3q53im6l-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883784574-d3q53im6l { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793883784574-d3q53im6l.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793883784574-d3q53im6l.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883784574-d3q53im6l-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn.disabled, #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793883784574-d3q53im6l .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793883784574-d3q53im6l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793883784574-d3q53im6l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793883784574-d3q53im6l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793883784574-d3q53im6l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793883784574-d3q53im6l .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793883784574-d3q53im6l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793883784574-d3q53im6l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793883784574-d3q53im6l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row, #fv-chart-1793883784574-d3q53im6l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793883784574-d3q53im6l .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-pie-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-bar-product, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-label, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-product-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-label, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-container, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-cluster, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-label-space, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-chart-space, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-benchmark-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dropdown-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-carousel-nav-btn, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-chart-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-chart-subhead, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-header, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-vs, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dials-grid, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dial-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793883784574-d3q53im6l .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row, #fv-chart-1793883784574-d3q53im6l .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label, #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-container, #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883784574-d3q53im6l.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple iMac (2026, M6) scorecard",  "description": "How the Apple iMac (2026, M6) scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T13:03:04.574Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple iMac (2026, M6)",    "Value",    "Design",    "Performance",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Value",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Design",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Performance",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Overall",      "value": 4.5,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T13:03:04.575Z","state":{"data":[{"productName":"Apple iMac (2026, M6)","attribute":"Value","value":4.5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Design","value":4.5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Performance","value":5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Overall","value":4.5,"unit":"","maxValue":5}],"products":["Apple iMac (2026, M6)"],"attributes":["Value","Design","Performance","Overall"],"selectedProducts":["Apple iMac (2026, M6)"],"selectedPrimaryProduct":"Apple iMac (2026, M6)","selectedAttributes":["Value","Design","Performance","Overall"],"productColors":[{"productName":"Apple iMac (2026, M6)","color":"#E8238C"}],"initialProductColors":[{"productName":"Apple iMac (2026, M6)","color":"#5DA8D4"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple iMac (2026, M6) scorecard","subhead":"How the Apple iMac (2026, M6) scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793883784574-d3q53im6l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple iMac (2026, M6) scorecard</h3><p class="fv-chart-subhead">How the Apple iMac (2026, M6) scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793883784574-d3q53im6l-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple iMac (2026, M6) scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E8238C;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple iMac (2026, M6)</td><td>4.5</td><td>4.5</td><td>5</td><td>4.5</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793883784574-d3q53im6l', false); });      } else {        initialize('fv-chart-1793883784574-d3q53im6l', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-imac-24-inch-m6-review-value-for-money"><span>Apple iMac 24-inch (M6) Review: Value for money</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bfeKsw9kM6LVotenUsADSZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/bfeKsw9kM6LVotenUsADSZ-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: Jacob Krol/Future)</span></figcaption></figure><p>Apple's iMac with M6 isn't a revolution, but rather a lesson in squeezing more value out of a familiar package without raising the price. And I want to underscore the latter, as the iMac starts at $1,499 / £1,499 / AU$2,399 for the entry-level configuration, which is the same price as the M4 iMac — although Apple did increase the price of the M4 model earlier this year. For that price, you get a well-equipped Mac desktop that gives you everything you need to get started right out of the box.</p><p>That starts with the iMac itself, which is a modern, slim, colorful unit that won't take up much real estate, while giving you the canvas of a 24-inch 4.5K Retina display. Even without nano-texture glass — if you choose not to upgrade, as with my review unit — it's a colorful, vibrant, and rich experience that works well for everyday tasks and more creative work alike.</p><p>And, of course, there's the new M6 chip. It's a meaningful performance upgrade that keeps everything running smoothly, whether you're juggling everyday apps, working across multiple browser tabs, or getting stuck into more creative tasks. The addition of the Dual 16-core Neural Engine is another important part of the equation, helping accelerate AI-powered features, and giving this iMac more room to grow as Apple Intelligence continues to evolve. It's not just about getting a faster Mac today, but having a capable desktop that should feel ready for what's next, too.</p><p>Ultimately, it's excellent value for someone buying a new desktop Mac, whether it's their first iMac or an upgrade from an older machine. If you already have the M4 iMac, though, there's less reason to rush out and upgrade. This is a speed bump rather than a reinvention, but getting more performance for the same price is still a win.</p><p>If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup.</p><div class="product"><a data-dimension112="563a78ce-d933-11f1-9f58-0524b090e987" data-action="Deal Block" data-label="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension48="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:368px;"><p class="vanilla-image-block" style="padding-top:100.54%;"><img id="onaNjWDNBpvW4EEryymCWN" name="value4.5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/onaNjWDNBpvW4EEryymCWN-1920-80.png" mos="" align="middle" fullscreen="" width="368" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="563a78ce-d933-11f1-9f58-0524b090e987" data-action="Deal Block" data-label="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension48="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-imac-24-inch-m6-review-design"><span>Apple iMac 24-inch (M6) Review: Design</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FKWJZFKaobu5KNR2KFw9wY" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/FKWJZFKaobu5KNR2KFw9wY-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Familiar, colorful all-in-one design</strong></li><li><strong>Immersive 24-inch 4.5K Retina display</strong></li><li><strong>You can still get it with nano-texture glass</strong></li></ul><p>Apple's iMac is still instantly recognizable as the latest generation of its iconic all-in-one. The new iMac with M6 looks just like the iMac with M4, M3, and M1 that came before it. It's still plenty colorful, and offers an expansive 24-inch 4.5K Retina display, all in a remarkably thin build that takes up minimal space wherever you decide to place it.</p><p>On the front, the 24-inch screen is surrounded by a white bezel, with the bottom featuring a chin in whichever color you've chosen. I'm testing the Purple model, just like last time, which is a light, likely Wonka-approved take on the shade. The rear and sides feature a darker, matte aluminum version of purple that really pops, while the giant Apple logo remains front and center on the back.</p><p>For connectivity, the left side has a headphone jack — yes, the iMac has a proper audio jack — while the rear houses the power connection, which magnetically snaps into place. It's convenient, though not a quick-release connection like MagSafe on the MacBook Air or MacBook Pro. Around back, you'll either get two Thunderbolt 4 USB-C ports or four, depending on the configuration. I'm testing the higher-end option with all four, and the power adapter also features a 2.5Gb Ethernet port.</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="fn46jEQQJq3VBokqZpvdWZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/fn46jEQQJq3VBokqZpvdWZ-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: Jacob Krol/Future)</span></figcaption></figure><p>Not much else is different here, especially since Apple introduced this design way back with the M1. If purple isn't your shade, there are six other color options: Orange, Blue, Yellow, Green, Silver, and Pink. You'll also get a color-matched keyboard and Magic Mouse or Magic Trackpad in the box, along with a matching USB-C to USB-C cable.</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="ETT4iH3doESoGJT7KVneXZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/ETT4iH3doESoGJT7KVneXZ-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: Jacob Krol/Future)</span></figcaption></figure><p>The display is really good, with a 4480 x 2520 resolution and up to 500 nits of brightness. Using it as my daily Mac, I've found it to be a great screen for just about everything. Colors pop, there's plenty of detail, and the resolution scales nicely whether I'm checking email, browsing the web, replying to messages, putting together presentations in Keynote, scrolling through Photos, or hopping on a FaceTime call. </p><p>It's equally enjoyable for watching content, whether that's a full-screen YouTube video or something playing in a window while I work. And for more creative tasks, there's plenty of detail and color to work with when editing photos or videos.</p><div class="product"><a data-dimension112="e81277c4-d933-11f1-ac12-a3606f28fbd2" data-action="Deal Block" data-label="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension48="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="fetJ7HfWYBKLNPcshUh6SQ" name="design 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fetJ7HfWYBKLNPcshUh6SQ-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e81277c4-d933-11f1-ac12-a3606f28fbd2" data-action="Deal Block" data-label="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension48="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension25="">View Deal</a></p></div>                <div class="nominee__article" data-id="">            <span class="award__category"></span>            <a href=""><p><img src='/media/img/missing-image.svg' /></p></a>            <h2></h2>                        <div class="subtitle__description"><p></p></div>        </div>        <h3 class="article-body__section" id="section-apple-imac-24-inch-m6-review-specs"><span>Apple iMac 24-inch (M6) Review: Specs</span></h3><div ><table><caption>Apple iMac 24-inch (M6): Specs</caption><tbody><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$1,299 / £1,299 / AU$1,99</p></td><td  ><p>$1,499 / £1,499 / AU$2,399</p></td></tr><tr><td class="firstcol " ><p>CPU</p></td><td  ><p>Apple M6 (10-core CPU, 10-core GPU, and 16-core Neural Engine)</p></td><td  ><p>Apple M6 (12-core CPU, 12-core GPU, and Dual 16-core Neural Engine)</p></td></tr><tr><td class="firstcol " ><p>Graphics</p></td><td  ><p>Integrated 10-core GPU</p></td><td  ><p>Integrated 12-core GPU</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>16GB (starting, but configurable up to 24GB)</p></td><td  ><p>16GB (starting, but configurable up to 32GB)</p></td></tr><tr><td class="firstcol " ><p>Screen</p></td><td  ><p>24-inch 4.5K Retina display with 4480 x 2520 resolution at 218 ppi and 500 nits brightness</p></td><td  ><p>24-inch 4.5K Retina display with 4480 x 2520 resolution at 218 ppi and 500 nits brightness. Optional nano-texture glass.</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>256GB (starting, but configurable up to 1TB)</p></td><td  ><p>256GB (starting, but configurable up to 2TB)</p></td></tr><tr><td class="firstcol " ><p>Ports</p></td><td  ><p>Two Thunderbolt 4/USB-C ports, headphone jack</p></td><td  ><p>Four Thunderbolt 4/USB-C ports, headphone jack</p></td></tr><tr><td class="firstcol " ><p>Wireless</p></td><td  ><p>Wi-Fi 7 (802.11be), Bluetooth 6, and Thread connectivity</p></td><td  ><p>Wi-Fi 7 (802.11be), Bluetooth 6, and Thread connectivity</p></td></tr><tr><td class="firstcol " ><p>Camera</p></td><td  ><p>12-megapixel FaceTime camera with Center Stage and Desk View functionality</p></td><td  ><p>12-megapixel FaceTime camera with Center Stage and Desk View functionality</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>4.42 kg/9.74 lbs</p></td><td  ><p>4.44 kg/9.79 lbs</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>54.7 x 46.1 x 14.7cm / 21.5 x 18.1 x 5.8 inches</p></td><td  ><p>54.7 x 46.1 x 14.7cm / 21.5 x 18.1 x 5.8 inches</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-imac-24-inch-m6-review-performance"><span>Apple iMac 24-inch (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vNzVEnwUq6VDMPpeuvmKSZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/vNzVEnwUq6VDMPpeuvmKSZ-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Apple's M6 chip brings a welcome performance boost over M4, M3, or M1</strong></li><li><strong>Everyday multitasking feels effortless, even with 16GB of RAM</strong></li><li><strong>Improved Neural Engine makes AI and creative tasks feel snappy</strong></li></ul><p>As I hinted at above, the main change with Apple's iMac for 2026 is the processor. Apple's all-in-one computer is jumping from M4 to M6, and there are still two main configurations to choose from. For most folks, the entry-level iMac should be more than enough. Priced at $1,499 / £1,499 / AU$3,499, you get an M6 chip with a 10-core CPU, 10-core GPU, and Dual 16-core Neural Engine, alongside 16GB of RAM and 256GB of storage.</p><p>For $1,699 / £1,699 / AU$3,699, you can step up to an M6 with a 12-core CPU and 12-core GPU, along with the same Dual 16-core Neural Engine, 16GB of RAM, and 512GB of storage. That extra horsepower should come in handy for more creative tasks and on-device AI functionality. </p><p>It's also worth noting that neither configuration comes with a price increase over the previous generation. Both feature improvements to Wi-Fi and Bluetooth, now sitting at Wi-Fi 7 and Bluetooth 6, along with Thread connectivity to help with the smart home.</p><p>I've been testing the step-up model with the fully specced M6 chip, 16GB of RAM, and 512GB of storage. Out of the box, setup was a breeze, and the iMac is running macOS 27.2. Here's a pro tip: as part of the onboarding process, you can choose to set up your new Mac using an iPhone or iPad, which speeds things up a bit.</p><p>From there, you're presented with a welcome screen; hit Enter, and you're ready to start using your iMac however you'd like. And, as has been the case with most Macs since Apple made the jump to its own chips — Apple Silicon — everyday performance isn't really an issue. In my daily use, I've had no trouble running Safari and Google Chrome, both with more than a dozen tabs open, alongside Messages, Mail, Photos, Pixelmator Pro, and Slack, all without skipping a beat. Thanks to the M6 chip, multitasking is effortless, and everything feels zippy and responsive. That's particularly impressive given that this configuration has just 16GB of RAM.</p><p>One key advantage of the M6 is its Dual 16-core Neural Engine, compared with the single Neural Engine in earlier iMac models. This helps power Siri AI and other Apple Intelligence features, and I've found some of the multimodal capabilities particularly snappy. For instance, I can ask Siri to create a calendar event based on an invitation displayed on my screen in Mail or Gmail, and even have it invite other people. You can type your request into Spotlight or use the built-in microphones to get started.</p><p>Similarly, as part of the latest updates to Apple Creator Studio, Generative Fill within Pixelmator Pro works quite snappily here. It's also easy enough to ask it to try again if the result isn't quite right. You can also use Siri AI within Numbers, Pages, and Keynote for a little extra assistance. I've found myself making good use of the big screen, too, starting with a photo edit in the Photos app using tools like Expand or Clean Up before sending it into Pixelmator Pro to refine things further. The Super Resolution functionality is particularly handy for boosting overall image quality.</p><p>Previously, my iMac with M4, which was specced with a beefier 32GB of RAM, scored 3,646 in single-core and 14,724 in multi-core testing with Geekbench 6.3. The iMac with M6 surpassed those results, scoring 4,553 in single-core and 20,038 in multi-core with Geekbench 6. That's roughly a 25% improvement in single-core performance and a 36% jump in multi-core performance over the M4.</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="TvoewBv2QwWFePToyTsFRZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/TvoewBv2QwWFePToyTsFRZ-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: Jacob Krol/Future)</span></figcaption></figure><p>We also ran Geekbench 7, where the M6 iMac scored 3,931 in single-core and 21,374 in multi-core testing. While those results aren't directly comparable to my previous Geekbench 6.3 scores, they further demonstrate the kind of performance this machine can deliver.</p><p>It's an impressive leap over two generations of Apple Silicon, and one that matches my real-world experience over the past few days. The iMac with M6 feels zippy, responsive, and ready for a challenge, even with just 16GB of RAM inside.</p><p>The iMac remains the centerpiece of Apple's all-in-one desktop lineup. Unlike the Mac mini or Mac Studio, you're getting a complete system that's ready to go right out of the box. That means a screen, speakers, ports, keyboard, and mouse are all included, making it an excellent choice for someone buying their first desktop Mac, upgrading from an older model or even a PC, or a business looking for a straightforward, all-in-one solution.</p><p>The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome.</p><div class="product"><a data-dimension112="25273640-d934-11f1-a1ac-155c53256958" data-action="Deal Block" data-label="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension48="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iPsSRLxVnLSd9PewPGhBkR" name="performance5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPsSRLxVnLSd9PewPGhBkR-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="25273640-d934-11f1-a1ac-155c53256958" data-action="Deal Block" data-label="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension48="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-imac-with-m6"><span>Should I buy the Apple iMac with M6?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the Apple iMac with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You want an excellent all-in-one computer</strong></p></div><div class="card__description"><p>No price increase, improved performance, a sleek and colorful design, and a great display make the iMac with M6 an easy recommendation. It's an excellent all-in-one package that has plenty to offer without costing more than the previous generation.<br /><strong>✅ You're already in the Apple ecosystem</strong></p></div><div class="card__description"><p>It goes without saying, but the iMac plays really well with iPhone, iPad, Apple Watch, and iCloud. You'll feel right at home with familiar apps, a shared clipboard between devices, the ability to mirror your iPhone on the iMac, and even the convenience of having calls ring on your desktop.<br /><strong>✅ You want a colorful, good-looking desktop</strong></p></div><div class="card__description"><p>I said it with the M4, but I really love the look of the iMac. You get your pick of colors, and the result is a sleek desktop that weighs less than 10 pounds and doesn't look like a hunk of junk. It can fit just about anywhere.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the Apple iMac with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You need a bigger screen</strong></p></div><div class="card__description"><p>Unlike a Mac mini, Mac Studio, or even a MacBook you plug into a display, the iMac with M6 only comes in one size: 24 inches. So if you need something larger or want flexibility, you'll want to look elsewhere<br /><strong>❌ You need the most powerful Mac</strong></p></div><div class="card__description"><p>Apple already makes the M5 Max and M5 Ultra, both in desktop and laptop form, so if you need more power for more intensive tasks — be it creative work or running AI models — you'll want to look at those</p></div></div></div></div><h2 class="article-body__section" id="section-how-i-tested-the-apple-imac-with-m6"><span>How I tested the Apple iMac with M6</span></h2><p>I've spent the past five days putting the Apple iMac with M6 through its paces. After unboxing it, I set it up in two different spaces — my kitchen island and my desk — to get a sense of how it fits into different environments. I downloaded a range of apps for work and play, including Google Chrome, Pixelmator Pro, Final Cut Pro, Slack, and Geekbench.</p><p>I used it as my daily work machine, juggling browser tabs, messages, and creative projects, while also running benchmarks and more demanding tasks. Outside of work, I played games, took calls, watched movies, and listened to music to get a feel for its overall performance and entertainment experience.</p><p><em>First reviewed November 2026.</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/macs/ive-tested-apples-new-m6-imac-and-its-still-the-best-all-in-one-desktop-you-can-buy</link>
                                                                            <description>
                            <![CDATA[ I spent five days testing Apple's new M6 iMac to see how its performance upgrades and familiar colorful design stack up. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">QsMJywdh2wPF4PhehxgNpb</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/vXUjUvnAfebWjAoxoi4xLf-1920-80.gif" type="image/gif" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 14:30:00 +0000</pubDate>                                                                                                                                <updated>Fri, 06 Nov 2026 09:16:52 +0000</updated>
                                                                                                                                            <category><![CDATA[Macs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Desktop PCs]]></category>
                                                                                                <author><![CDATA[ jacob.krol@futurenet.com (Jacob Krol) ]]></author>                    <dc:creator><![CDATA[ Jacob Krol ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hKSCqxtWYDuUtwZseV9E3C-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob Krol is the US Managing Editor for News at TechRadar overseeing the daily rollout of content and coordinating with various section leads. He joined TechRadar in May of 2024 and is based out of New York City. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Jacob was Senior Editor, Technology and Commerce at TheStreet focusing on covering the latest products in the consumer tech space from how to pre-order to finding the best deals with reviews, analysis, and features in between. Before that, Jacob was a founding member at CNN Underscored, building and growing the electronics section. He also assisted in building out social media channels, programming the homepage, and establishing protocols for testing various products for one-off reviews and best-of guides. Prior to starting at CNN, Jacob was a Tech Writer at Mashable focusing on news, reviews, and evergreen content. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;He has experience covering major players in the space like Apple, Samsung, Google, and Microsoft as well as testing products like smartphones, tablets, smartwatches, smart home gadgets, speakers, earbuds, headphones, TVs, and more futuristic tech like smart glasses.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Jacob received a Bachelor of Arts in Media &amp; Communication cum laude with a minor in Innovation and Entrepreneurship from Muhlenberg College. During his time on campus, he interned at CNET, Fox News, CNN, and CNBC, while also running his own tech blog, NJTechReviews, which he founded in 2010.&lt;/p&gt;&lt;p&gt;When not playing with a new gadget or breaking down the latest news, you can find Jacob listening to Bruce Springsteen, posting on TikTok, building a Lego set, watching a Star Wars show, or playing with his family dogs, Georgia and Charlie.&lt;/p&gt; ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/gif" url="https://cdn.mos.cms.futurecdn.net/vXUjUvnAfebWjAoxoi4xLf-1920-80.gif">
                                                            <media:credit><![CDATA[Jacob Krol/Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple iMac M6 review]]></media:description>                                                            <media:text><![CDATA[Apple iMac M6 review]]></media:text>
                                <media:title type="plain"><![CDATA[Apple iMac M6 review]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/vXUjUvnAfebWjAoxoi4xLf-1920-80.gif" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-at-a-glance-apple-imac-24-inch-m6-review"><span>At a glance: Apple iMac 24-inch (M6) Review</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's iMac with M6 is the latest generation of its all-in-one desktop. Like the M4, M3, and M1 before it, it keeps the modern, colorful design and slim build and includes a keyboard and mouse (or trackpad). Out of the box it's running macOS 27.2, and it's a capable desktop for creative work, productivity, and everyday tasks.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>Good news: Apple hasn't increased the starting price. For $1,499, you get an M6 chip with a 10-core CPU, 10-core GPU, and Dual 16-core Neural Engine, plus 16GB of RAM and 256GB of storage. A $1,699 configuration upgrades to a 12-core CPU and GPU and 512GB of storage. Nano-texture glass, additional Thunderbolt 4 ports, and Ethernet are also available as options.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's Mac mini with M6 is the closest alternative, and lets you choose your own display, keyboard, and mouse. There's also the more powerful Mac Studio with M5 Max or M5 Ultra, alongside plenty of Windows desktop options.</p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793883784574-d3q53im6l *, #fv-chart-1793883784574-d3q53im6l *:before, #fv-chart-1793883784574-d3q53im6l *:after, #fv-chart-1793883784574-d3q53im6l-slideshow *, #fv-chart-1793883784574-d3q53im6l-slideshow *:before, #fv-chart-1793883784574-d3q53im6l-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793883784574-d3q53im6l, #fv-chart-1793883784574-d3q53im6l-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883784574-d3q53im6l { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793883784574-d3q53im6l.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793883784574-d3q53im6l.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883784574-d3q53im6l .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883784574-d3q53im6l-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn.disabled, #fv-chart-1793883784574-d3q53im6l-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793883784574-d3q53im6l-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793883784574-d3q53im6l .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793883784574-d3q53im6l .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793883784574-d3q53im6l .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793883784574-d3q53im6l .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793883784574-d3q53im6l .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793883784574-d3q53im6l .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793883784574-d3q53im6l .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793883784574-d3q53im6l .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883784574-d3q53im6l .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793883784574-d3q53im6l .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793883784574-d3q53im6l .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793883784574-d3q53im6l .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793883784574-d3q53im6l .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row, #fv-chart-1793883784574-d3q53im6l .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793883784574-d3q53im6l .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793883784574-d3q53im6l .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793883784574-d3q53im6l.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793883784574-d3q53im6l .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-pie-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-bar-product, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-label, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-grouped-product-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-label, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-container, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-cluster, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-label-space, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-x-axis-chart-space, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-benchmark-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dropdown-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-carousel-nav-btn, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-chart-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-chart-subhead, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-header, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-vs, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select-container, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-versus-select, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dials-grid, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-dial-title, #fv-chart-1793883784574-d3q53im6l.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883784574-d3q53im6l.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793883784574-d3q53im6l .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row, #fv-chart-1793883784574-d3q53im6l .fv-stacked-product, #fv-chart-1793883784574-d3q53im6l .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-label, #fv-chart-1793883784574-d3q53im6l .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-container, #fv-chart-1793883784574-d3q53im6l .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883784574-d3q53im6l .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883784574-d3q53im6l .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-logo, #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883784574-d3q53im6l .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883784574-d3q53im6l .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883784574-d3q53im6l .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883784574-d3q53im6l .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883784574-d3q53im6l.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple iMac (2026, M6) scorecard",  "description": "How the Apple iMac (2026, M6) scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T13:03:04.574Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple iMac (2026, M6)",    "Value",    "Design",    "Performance",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Value",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Design",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Performance",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple iMac (2026, M6) – Overall",      "value": 4.5,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T13:03:04.575Z","state":{"data":[{"productName":"Apple iMac (2026, M6)","attribute":"Value","value":4.5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Design","value":4.5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Performance","value":5,"unit":"","maxValue":5},{"productName":"Apple iMac (2026, M6)","attribute":"Overall","value":4.5,"unit":"","maxValue":5}],"products":["Apple iMac (2026, M6)"],"attributes":["Value","Design","Performance","Overall"],"selectedProducts":["Apple iMac (2026, M6)"],"selectedPrimaryProduct":"Apple iMac (2026, M6)","selectedAttributes":["Value","Design","Performance","Overall"],"productColors":[{"productName":"Apple iMac (2026, M6)","color":"#E8238C"}],"initialProductColors":[{"productName":"Apple iMac (2026, M6)","color":"#5DA8D4"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple iMac (2026, M6) scorecard","subhead":"How the Apple iMac (2026, M6) scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793883784574-d3q53im6l" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple iMac (2026, M6) scorecard</h3><p class="fv-chart-subhead">How the Apple iMac (2026, M6) scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793883784574-d3q53im6l-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple iMac (2026, M6) scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #E8238C;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple iMac (2026, M6)</td><td>4.5</td><td>4.5</td><td>5</td><td>4.5</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793883784574-d3q53im6l', false); });      } else {        initialize('fv-chart-1793883784574-d3q53im6l', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-imac-24-inch-m6-review-value-for-money"><span>Apple iMac 24-inch (M6) Review: Value for money</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="bfeKsw9kM6LVotenUsADSZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/bfeKsw9kM6LVotenUsADSZ-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: Jacob Krol/Future)</span></figcaption></figure><p>Apple's iMac with M6 isn't a revolution, but rather a lesson in squeezing more value out of a familiar package without raising the price. And I want to underscore the latter, as the iMac starts at $1,499 / £1,499 / AU$2,399 for the entry-level configuration, which is the same price as the M4 iMac — although Apple did increase the price of the M4 model earlier this year. For that price, you get a well-equipped Mac desktop that gives you everything you need to get started right out of the box.</p><p>That starts with the iMac itself, which is a modern, slim, colorful unit that won't take up much real estate, while giving you the canvas of a 24-inch 4.5K Retina display. Even without nano-texture glass — if you choose not to upgrade, as with my review unit — it's a colorful, vibrant, and rich experience that works well for everyday tasks and more creative work alike.</p><p>And, of course, there's the new M6 chip. It's a meaningful performance upgrade that keeps everything running smoothly, whether you're juggling everyday apps, working across multiple browser tabs, or getting stuck into more creative tasks. The addition of the Dual 16-core Neural Engine is another important part of the equation, helping accelerate AI-powered features, and giving this iMac more room to grow as Apple Intelligence continues to evolve. It's not just about getting a faster Mac today, but having a capable desktop that should feel ready for what's next, too.</p><p>Ultimately, it's excellent value for someone buying a new desktop Mac, whether it's their first iMac or an upgrade from an older machine. If you already have the M4 iMac, though, there's less reason to rush out and upgrade. This is a speed bump rather than a reinvention, but getting more performance for the same price is still a win.</p><p>If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup.</p><div class="product"><a data-dimension112="563a78ce-d933-11f1-9f58-0524b090e987" data-action="Deal Block" data-label="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension48="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:368px;"><p class="vanilla-image-block" style="padding-top:100.54%;"><img id="onaNjWDNBpvW4EEryymCWN" name="value4.5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/onaNjWDNBpvW4EEryymCWN-1920-80.png" mos="" align="middle" fullscreen="" width="368" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="563a78ce-d933-11f1-9f58-0524b090e987" data-action="Deal Block" data-label="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension48="If you currently have an older iMac or an aging Mac, and want a desktop that gives you everything you need out of the box — including a great display — there’s really no better value in Apple’s lineup." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-imac-24-inch-m6-review-design"><span>Apple iMac 24-inch (M6) Review: Design</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="FKWJZFKaobu5KNR2KFw9wY" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/FKWJZFKaobu5KNR2KFw9wY-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Familiar, colorful all-in-one design</strong></li><li><strong>Immersive 24-inch 4.5K Retina display</strong></li><li><strong>You can still get it with nano-texture glass</strong></li></ul><p>Apple's iMac is still instantly recognizable as the latest generation of its iconic all-in-one. The new iMac with M6 looks just like the iMac with M4, M3, and M1 that came before it. It's still plenty colorful, and offers an expansive 24-inch 4.5K Retina display, all in a remarkably thin build that takes up minimal space wherever you decide to place it.</p><p>On the front, the 24-inch screen is surrounded by a white bezel, with the bottom featuring a chin in whichever color you've chosen. I'm testing the Purple model, just like last time, which is a light, likely Wonka-approved take on the shade. The rear and sides feature a darker, matte aluminum version of purple that really pops, while the giant Apple logo remains front and center on the back.</p><p>For connectivity, the left side has a headphone jack — yes, the iMac has a proper audio jack — while the rear houses the power connection, which magnetically snaps into place. It's convenient, though not a quick-release connection like MagSafe on the MacBook Air or MacBook Pro. Around back, you'll either get two Thunderbolt 4 USB-C ports or four, depending on the configuration. I'm testing the higher-end option with all four, and the power adapter also features a 2.5Gb Ethernet port.</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="fn46jEQQJq3VBokqZpvdWZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/fn46jEQQJq3VBokqZpvdWZ-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: Jacob Krol/Future)</span></figcaption></figure><p>Not much else is different here, especially since Apple introduced this design way back with the M1. If purple isn't your shade, there are six other color options: Orange, Blue, Yellow, Green, Silver, and Pink. You'll also get a color-matched keyboard and Magic Mouse or Magic Trackpad in the box, along with a matching USB-C to USB-C cable.</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="ETT4iH3doESoGJT7KVneXZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/ETT4iH3doESoGJT7KVneXZ-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: Jacob Krol/Future)</span></figcaption></figure><p>The display is really good, with a 4480 x 2520 resolution and up to 500 nits of brightness. Using it as my daily Mac, I've found it to be a great screen for just about everything. Colors pop, there's plenty of detail, and the resolution scales nicely whether I'm checking email, browsing the web, replying to messages, putting together presentations in Keynote, scrolling through Photos, or hopping on a FaceTime call. </p><p>It's equally enjoyable for watching content, whether that's a full-screen YouTube video or something playing in a window while I work. And for more creative tasks, there's plenty of detail and color to work with when editing photos or videos.</p><div class="product"><a data-dimension112="e81277c4-d933-11f1-ac12-a3606f28fbd2" data-action="Deal Block" data-label="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension48="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="fetJ7HfWYBKLNPcshUh6SQ" name="design 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fetJ7HfWYBKLNPcshUh6SQ-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e81277c4-d933-11f1-ac12-a3606f28fbd2" data-action="Deal Block" data-label="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension48="I do miss the optional nano-texture glass on my review unit, particularly when dealing with natural light or other reflections. But if you're placing the iMac in a space without a ton of direct sunlight or reflective surfaces, I think you're largely all right with the standard glossy finish." data-dimension25="">View Deal</a></p></div>                <div class="nominee__article" data-id="">            <span class="award__category"></span>            <a href=""><p><img src='/media/img/missing-image.svg' /></p></a>            <h2></h2>                        <div class="subtitle__description"><p></p></div>        </div>        <h3 class="article-body__section" id="section-apple-imac-24-inch-m6-review-specs"><span>Apple iMac 24-inch (M6) Review: Specs</span></h3><div ><table><caption>Apple iMac 24-inch (M6): Specs</caption><tbody><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$1,299 / £1,299 / AU$1,99</p></td><td  ><p>$1,499 / £1,499 / AU$2,399</p></td></tr><tr><td class="firstcol " ><p>CPU</p></td><td  ><p>Apple M6 (10-core CPU, 10-core GPU, and 16-core Neural Engine)</p></td><td  ><p>Apple M6 (12-core CPU, 12-core GPU, and Dual 16-core Neural Engine)</p></td></tr><tr><td class="firstcol " ><p>Graphics</p></td><td  ><p>Integrated 10-core GPU</p></td><td  ><p>Integrated 12-core GPU</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>16GB (starting, but configurable up to 24GB)</p></td><td  ><p>16GB (starting, but configurable up to 32GB)</p></td></tr><tr><td class="firstcol " ><p>Screen</p></td><td  ><p>24-inch 4.5K Retina display with 4480 x 2520 resolution at 218 ppi and 500 nits brightness</p></td><td  ><p>24-inch 4.5K Retina display with 4480 x 2520 resolution at 218 ppi and 500 nits brightness. Optional nano-texture glass.</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>256GB (starting, but configurable up to 1TB)</p></td><td  ><p>256GB (starting, but configurable up to 2TB)</p></td></tr><tr><td class="firstcol " ><p>Ports</p></td><td  ><p>Two Thunderbolt 4/USB-C ports, headphone jack</p></td><td  ><p>Four Thunderbolt 4/USB-C ports, headphone jack</p></td></tr><tr><td class="firstcol " ><p>Wireless</p></td><td  ><p>Wi-Fi 7 (802.11be), Bluetooth 6, and Thread connectivity</p></td><td  ><p>Wi-Fi 7 (802.11be), Bluetooth 6, and Thread connectivity</p></td></tr><tr><td class="firstcol " ><p>Camera</p></td><td  ><p>12-megapixel FaceTime camera with Center Stage and Desk View functionality</p></td><td  ><p>12-megapixel FaceTime camera with Center Stage and Desk View functionality</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>4.42 kg/9.74 lbs</p></td><td  ><p>4.44 kg/9.79 lbs</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>54.7 x 46.1 x 14.7cm / 21.5 x 18.1 x 5.8 inches</p></td><td  ><p>54.7 x 46.1 x 14.7cm / 21.5 x 18.1 x 5.8 inches</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-imac-24-inch-m6-review-performance"><span>Apple iMac 24-inch (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="vNzVEnwUq6VDMPpeuvmKSZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/vNzVEnwUq6VDMPpeuvmKSZ-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Apple's M6 chip brings a welcome performance boost over M4, M3, or M1</strong></li><li><strong>Everyday multitasking feels effortless, even with 16GB of RAM</strong></li><li><strong>Improved Neural Engine makes AI and creative tasks feel snappy</strong></li></ul><p>As I hinted at above, the main change with Apple's iMac for 2026 is the processor. Apple's all-in-one computer is jumping from M4 to M6, and there are still two main configurations to choose from. For most folks, the entry-level iMac should be more than enough. Priced at $1,499 / £1,499 / AU$3,499, you get an M6 chip with a 10-core CPU, 10-core GPU, and Dual 16-core Neural Engine, alongside 16GB of RAM and 256GB of storage.</p><p>For $1,699 / £1,699 / AU$3,699, you can step up to an M6 with a 12-core CPU and 12-core GPU, along with the same Dual 16-core Neural Engine, 16GB of RAM, and 512GB of storage. That extra horsepower should come in handy for more creative tasks and on-device AI functionality. </p><p>It's also worth noting that neither configuration comes with a price increase over the previous generation. Both feature improvements to Wi-Fi and Bluetooth, now sitting at Wi-Fi 7 and Bluetooth 6, along with Thread connectivity to help with the smart home.</p><p>I've been testing the step-up model with the fully specced M6 chip, 16GB of RAM, and 512GB of storage. Out of the box, setup was a breeze, and the iMac is running macOS 27.2. Here's a pro tip: as part of the onboarding process, you can choose to set up your new Mac using an iPhone or iPad, which speeds things up a bit.</p><p>From there, you're presented with a welcome screen; hit Enter, and you're ready to start using your iMac however you'd like. And, as has been the case with most Macs since Apple made the jump to its own chips — Apple Silicon — everyday performance isn't really an issue. In my daily use, I've had no trouble running Safari and Google Chrome, both with more than a dozen tabs open, alongside Messages, Mail, Photos, Pixelmator Pro, and Slack, all without skipping a beat. Thanks to the M6 chip, multitasking is effortless, and everything feels zippy and responsive. That's particularly impressive given that this configuration has just 16GB of RAM.</p><p>One key advantage of the M6 is its Dual 16-core Neural Engine, compared with the single Neural Engine in earlier iMac models. This helps power Siri AI and other Apple Intelligence features, and I've found some of the multimodal capabilities particularly snappy. For instance, I can ask Siri to create a calendar event based on an invitation displayed on my screen in Mail or Gmail, and even have it invite other people. You can type your request into Spotlight or use the built-in microphones to get started.</p><p>Similarly, as part of the latest updates to Apple Creator Studio, Generative Fill within Pixelmator Pro works quite snappily here. It's also easy enough to ask it to try again if the result isn't quite right. You can also use Siri AI within Numbers, Pages, and Keynote for a little extra assistance. I've found myself making good use of the big screen, too, starting with a photo edit in the Photos app using tools like Expand or Clean Up before sending it into Pixelmator Pro to refine things further. The Super Resolution functionality is particularly handy for boosting overall image quality.</p><p>Previously, my iMac with M4, which was specced with a beefier 32GB of RAM, scored 3,646 in single-core and 14,724 in multi-core testing with Geekbench 6.3. The iMac with M6 surpassed those results, scoring 4,553 in single-core and 20,038 in multi-core with Geekbench 6. That's roughly a 25% improvement in single-core performance and a 36% jump in multi-core performance over the M4.</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="TvoewBv2QwWFePToyTsFRZ" name="Apple iMac M6 review" alt="Apple iMac M6 review" src="https://cdn.mos.cms.futurecdn.net/TvoewBv2QwWFePToyTsFRZ-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: Jacob Krol/Future)</span></figcaption></figure><p>We also ran Geekbench 7, where the M6 iMac scored 3,931 in single-core and 21,374 in multi-core testing. While those results aren't directly comparable to my previous Geekbench 6.3 scores, they further demonstrate the kind of performance this machine can deliver.</p><p>It's an impressive leap over two generations of Apple Silicon, and one that matches my real-world experience over the past few days. The iMac with M6 feels zippy, responsive, and ready for a challenge, even with just 16GB of RAM inside.</p><p>The iMac remains the centerpiece of Apple's all-in-one desktop lineup. Unlike the Mac mini or Mac Studio, you're getting a complete system that's ready to go right out of the box. That means a screen, speakers, ports, keyboard, and mouse are all included, making it an excellent choice for someone buying their first desktop Mac, upgrading from an older model or even a PC, or a business looking for a straightforward, all-in-one solution.</p><p>The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome.</p><div class="product"><a data-dimension112="25273640-d934-11f1-a1ac-155c53256958" data-action="Deal Block" data-label="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension48="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iPsSRLxVnLSd9PewPGhBkR" name="performance5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPsSRLxVnLSd9PewPGhBkR-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="25273640-d934-11f1-a1ac-155c53256958" data-action="Deal Block" data-label="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension48="The iMac has always served a lot of different use cases, and Apple's latest iteration doesn't change or revolutionize that. But a speed-bump upgrade can still be a worthwhile one, especially when it brings more performance without increasing the price. You're getting more computer for the same money, and that's always welcome." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-imac-with-m6"><span>Should I buy the Apple iMac with M6?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the Apple iMac with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You want an excellent all-in-one computer</strong></p></div><div class="card__description"><p>No price increase, improved performance, a sleek and colorful design, and a great display make the iMac with M6 an easy recommendation. It's an excellent all-in-one package that has plenty to offer without costing more than the previous generation.<br /><strong>✅ You're already in the Apple ecosystem</strong></p></div><div class="card__description"><p>It goes without saying, but the iMac plays really well with iPhone, iPad, Apple Watch, and iCloud. You'll feel right at home with familiar apps, a shared clipboard between devices, the ability to mirror your iPhone on the iMac, and even the convenience of having calls ring on your desktop.<br /><strong>✅ You want a colorful, good-looking desktop</strong></p></div><div class="card__description"><p>I said it with the M4, but I really love the look of the iMac. You get your pick of colors, and the result is a sleek desktop that weighs less than 10 pounds and doesn't look like a hunk of junk. It can fit just about anywhere.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the Apple iMac with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You need a bigger screen</strong></p></div><div class="card__description"><p>Unlike a Mac mini, Mac Studio, or even a MacBook you plug into a display, the iMac with M6 only comes in one size: 24 inches. So if you need something larger or want flexibility, you'll want to look elsewhere<br /><strong>❌ You need the most powerful Mac</strong></p></div><div class="card__description"><p>Apple already makes the M5 Max and M5 Ultra, both in desktop and laptop form, so if you need more power for more intensive tasks — be it creative work or running AI models — you'll want to look at those</p></div></div></div></div><h2 class="article-body__section" id="section-how-i-tested-the-apple-imac-with-m6"><span>How I tested the Apple iMac with M6</span></h2><p>I've spent the past five days putting the Apple iMac with M6 through its paces. After unboxing it, I set it up in two different spaces — my kitchen island and my desk — to get a sense of how it fits into different environments. I downloaded a range of apps for work and play, including Google Chrome, Pixelmator Pro, Final Cut Pro, Slack, and Geekbench.</p><p>I used it as my daily work machine, juggling browser tabs, messages, and creative projects, while also running benchmarks and more demanding tasks. Outside of work, I played games, took calls, watched movies, and listened to music to get a feel for its overall performance and entertainment experience.</p><p><em>First reviewed November 2026.</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I've tested Apple's new touchscreen MacBook, and it's worth buying — but not for the reasons you’re expecting ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-at-a-glance-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>At a glance: Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>The MacBook Pro with PROLED XDR Display is Apple’s latest and greatest workstation laptop aimed at professionals. It doesn’t come with the newest M6 chip architecture, and instead sticks with the previous, yet very powerful, M5 Pro and M5 Max generation. The big change this time around, however, is the PROLED XDR Display. Apple has dropped mini LED technology for tandem OLED, and the screen is gorgeously vibrant — and it’s the first time Apple has included a touchscreen on a MacBook.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>The Apple MacBook Pro with PROLED XDR Display comes in two sizes: 14-inch and 16-inch. The 14-inch model starts at $2,899 / £2,899 / AU$4,599 and the 16-inch model starts at $3,399 / £3,399 / AU$5,499. These versions come with 24GB of unified memory and 1TB storage, and are powered by the M5 Pro chip (the 16-inch model’s M5 Pro chip features a more powerful 20-core GPU, compared to the 14-inches’ 18-core GPU). You can configure both models with the more powerful M5 Max chip up to 128GB memory and 16TB of storage, but things get very expensive, very fast.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>The launch of the Apple MacBook Pro with PROLED XDR Display comes at a time when there’s a lot of competition in the prosumer laptop market, thanks to the launch of a range of laptops powered by Nvidia’s RTX Spark chip. These laptops, such as the <a href="https://www.techradar.com/computing/windows-laptops/asus-proart-p16-rtx-spark">Asus ProArt P16 RTX Spark</a> and Microsoft Surface Laptop Ultra, have powerful chips, unified memory and touchscreens (many of them are OLED as well), which pits them squarely against the new MacBook Pro. </p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793875110430-r15jxat7d *, #fv-chart-1793875110430-r15jxat7d *:before, #fv-chart-1793875110430-r15jxat7d *:after, #fv-chart-1793875110430-r15jxat7d-slideshow *, #fv-chart-1793875110430-r15jxat7d-slideshow *:before, #fv-chart-1793875110430-r15jxat7d-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793875110430-r15jxat7d, #fv-chart-1793875110430-r15jxat7d-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793875110430-r15jxat7d { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793875110430-r15jxat7d.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793875110430-r15jxat7d.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793875110430-r15jxat7d-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn.disabled, #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793875110430-r15jxat7d .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793875110430-r15jxat7d .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793875110430-r15jxat7d .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793875110430-r15jxat7d .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793875110430-r15jxat7d .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793875110430-r15jxat7d .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793875110430-r15jxat7d .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793875110430-r15jxat7d .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793875110430-r15jxat7d .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row, #fv-chart-1793875110430-r15jxat7d .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793875110430-r15jxat7d .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-pie-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-bar-product, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-label, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-product-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-label, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-container, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-cluster, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-label-space, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-chart-space, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-benchmark-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dropdown-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-carousel-nav-btn, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-chart-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-chart-subhead, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-header, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-vs, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dials-grid, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dial-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793875110430-r15jxat7d .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row, #fv-chart-1793875110430-r15jxat7d .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label, #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-container, #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster { width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-label-space { display: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793875110430-r15jxat7d.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple MacBook Pro with PROLED XDR Display scorecard",  "description": "How the Apple MacBook Pro with PROLED XDR Display scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T10:38:30.431Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "Value",    "Design",    "Performance",    "Battery life",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Value",      "value": 3,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Design",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Performance",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Battery life",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Overall",      "value": 4.5,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T10:38:30.431Z","state":{"data":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Value","value":3,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Design","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Performance","value":5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Battery life","value":5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Overall","value":4.5,"unit":"","maxValue":5}],"products":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["Value","Design","Performance","Battery life","Overall"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["Value","Design","Performance","Battery life","Overall"],"productColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#2E6E93"}],"initialProductColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#E8238C"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Battery life","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple MacBook Pro with PROLED XDR Display scorecard","subhead":"How the Apple MacBook Pro with PROLED XDR Display scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793875110430-r15jxat7d" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple MacBook Pro with PROLED XDR Display scorecard</h3><p class="fv-chart-subhead">How the Apple MacBook Pro with PROLED XDR Display scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793875110430-r15jxat7d-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple MacBook Pro with PROLED XDR Display scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #2E6E93;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #2E6E93;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #2E6E93;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Battery life</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #2E6E93;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #2E6E93;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Battery life ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>3</td><td>4.5</td><td>5</td><td>5</td><td>4.5</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793875110430-r15jxat7d', false); });      } else {        initialize('fv-chart-1793875110430-r15jxat7d', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-value-for-money"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Value for money</span></h2><p>Starting at $2,899 / £2,899 / AU$4,599 for the 14-inch version, and $3,399 / £3,399 / AU$5,499 for the 16-inch model, and going all the way up to an astonishing $14,549 / £14,549 / AU$22,424 for the fully specced-out model, the question of value isn’t so much about price, but about what this laptop can enable you to do.</p><p>Put simply, if you just want a MacBook that will excel at day-to-day tasks you’d be much better off buying a <a href="https://www.techradar.com/computing/macbooks/apple-macbook-air-13-inch-m5-review">MacBook Air (M5)</a>, and even for more ambitious workloads, <a href="https://www.techradar.com/computing/macbooks/apple-reveals-imac-m6-and-macbook-pro-m6-and-the-good-news-is-there-are-no-price-hikes">the recently-announced MacBook Pro (M6)</a>, which starts at $1,999 / £1,999 / AU$3,199, will likely more than suffice. Neither of those, of course, feature a touchscreen, but I wouldn’t suggest buying any model of the Apple MacBook Pro with PROLED XDR Display for the touchscreen alone. </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.29%;"><img id="X2jVsFCnQtmch4HLfMYeHK" name="20261105_120206" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/X2jVsFCnQtmch4HLfMYeHK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Thankfully, this version of the MacBook Pro has other features that help to justify the higher price tag, including tandem OLED screen technology, a lighter design, and more powerful components. Despite being older than the M6 chip, both the M5 Pro and M5 Max outperform it, so if you need a seriously powerful laptop, and image quality is of the utmost importance, the Apple MacBook Pro with PROLED XDR Display could be a worthy investment, especially if its raw performance means you can complete projects faster, allowing you to take on more work, for example.</p><p>If you don’t need that kind of horsepower, then there are much more affordable options you should consider, tempting as the touchscreen functionality or OLED display might be.</p><p>Compared to rival RTX Spark laptops, the Apple MacBook Pro with PROLED XDR Display is much more competitive. The Asus ProArt P16 RTX Spark starts at $4,399.99 / £3,899.99 / AU$7,999, though it comes with a lot more memory, packing 64GB.</p><div class="product"><a data-dimension112="e09b398a-d902-11f1-acf1-b59c3499efdd" data-action="Deal Block" data-label="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension48="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="g8utBzWFoUc9TvJbzCghzX" name="value3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/g8utBzWFoUc9TvJbzCghzX-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford. <a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b398a-d902-11f1-acf1-b59c3499efdd" data-action="Deal Block" data-label="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension48="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-design"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Design</span></h2><ul><li><strong>PROLED XDR screen is a clear highlight</strong></li><li><strong>Slightly lighter than previous models</strong></li><li><strong>iPhone-like Dynamic Island replaces the controversial ‘notch’ around the webcam</strong></li></ul><p>Given that the MacBook Pro design hasn’t changed in years, the Apple MacBook Pro with PROLED XDR Display in both size variants comes with some major tweaks in this department. This isn’t, though, the kind of overhaul we saw when Apple introduced the 16-inch and 14-inch MacBook Pros that replaced the 15-inch and 13-inch models, respectively, around five years ago; instead, this is a more subtle refinement of the design, and pretty much all of the tweaks are a result of the new display, so let’s start there.</p><p>Apple calls the new PROLED XDR screen "the best display on a laptop" and, to be fair, it has a good reason to be boastful. Previous screens on the MacBook Pro were already pretty darn good, and now Apple has swapped the mini-LED tech for tandem OLED.  This essentially uses two layers of organic light-emitting diodes (OLED) on top of each other, rather than just a single layer, so peak brightness can go even higher, while the display can remain power-efficient. The PROLED XDR screen can achieve 2,000 nits of peak brightness, whereas the mini-LED screen of previous MacBook Pros had a peak brightness of 1,600. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793881114655-ic9u30w8f *, #fv-chart-1793881114655-ic9u30w8f *:before, #fv-chart-1793881114655-ic9u30w8f *:after, #fv-chart-1793881114655-ic9u30w8f-slideshow *, #fv-chart-1793881114655-ic9u30w8f-slideshow *:before, #fv-chart-1793881114655-ic9u30w8f-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793881114655-ic9u30w8f, #fv-chart-1793881114655-ic9u30w8f-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn.disabled, #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793881114655-ic9u30w8f .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793881114655-ic9u30w8f .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793881114655-ic9u30w8f .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793881114655-ic9u30w8f .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793881114655-ic9u30w8f .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793881114655-ic9u30w8f .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-ia-container { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-container { position: absolute !important; z-index: 10 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button { position: absolute !important; margin-left: -0.75rem !important; margin-top: -0.75rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) !important; cursor: pointer !important; border: none !important; padding: 0 !important; background-color: #ffffff !important; color: #1e293b !important; font-size: 0.75rem !important; font-weight: 700 !important; font-family: sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button:hover { transform: scale(1.1) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button.is-active { background-color: #2E6E93 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #2E6E93 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-ia-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; } @keyframes fv-ia-ping { 75%, 100% { transform: scale(2); opacity: 0; } } #fv-chart-1793881114655-ic9u30w8f .fv-ia-static-tooltip { display: none !important; position: absolute !important; top: -10px !important; left: 50% !important; transform: translate(-50%, -100%) !important; background-color: rgba(255, 255, 255, 0.95) !important; padding: 10px !important; border-radius: 6px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; width: max-content !important; max-width: 200px !important; font-size: 13px !important; color: #1f2937 !important; z-index: 20 !important; pointer-events: none !important; white-space: pre-wrap !important; line-height: 1.4 !important; border: 1px solid #e5e7eb !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo-explore-bar { position: relative !important; width: 100% !important; display: flex !important; justify-content: center !important; align-items: center !important; min-height: 30px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn { background-color: rgba(255, 255, 255, 0.95) !important; color: #1e293b !important; border: 1px solid #e5e7eb !important; border-radius: 9999px !important; padding: 0.5rem 1.25rem !important; font-size: 0.875rem !important; font-weight: 600 !important; font-family: sans-serif !important; display: inline-flex !important; align-items: center !important; gap: 0.5rem !important; cursor: pointer !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; transition: all 0.2s !important; pointer-events: auto !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn:hover { background-color: #ffffff !important; transform: translateY(-2px) !important; box-shadow: 0 6px 8px -1px rgba(0, 0, 0, 0.15) !important; color: #2E6E93 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn svg { transition: transform 0.2s !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-active-modal-container { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modals { display: block !important; position: static !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-item { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-item.is-active { display: flex !important; flex-direction: column !important; position: absolute !important; top: 1rem !important; right: 1rem !important; z-index: 20 !important; width: 18rem !important; max-width: calc(100% - 2rem) !important; background-color: #ffffff !important; padding: 1rem !important; border-radius: 0.75rem !important; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; border: 1px solid #e5e7eb !important; border-top: 4px solid #2E6E93 !important; animation: fv-ia-fade-in 0.2s ease-out !important; gap: 0.75rem !important; max-height: 80% !important; overflow-y: auto !important; pointer-events: auto !important; } @keyframes fv-ia-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-header { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-title { font-size: 1rem !important; line-height: 1.25 !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-close-button { background: #f9fafb !important; border: 1px solid #e5e7eb !important; border-radius: 50% !important; width: 2rem !important; height: 2rem !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; cursor: pointer !important; padding: 0 !important; flex-shrink: 0 !important; transition: all 0.2s !important; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-description { font-size: 0.875rem !important; color: #374151 !important; margin: 0 !important; line-height: 1.625 !important; white-space: pre-wrap !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-empty { display: flex !important; align-items: center !important; justify-content: center !important; height: 200px !important; background-color: #f1f5f9 !important; color: #64748b !important; border: 2px dashed #cbd5e1 !important; border-radius: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-pie-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-bar-product, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-product-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-cluster, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-label-space, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-chart-space, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-benchmark-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dropdown-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-carousel-nav-btn, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-chart-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-chart-subhead, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-header, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-vs, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dials-grid, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dial-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793881114655-ic9u30w8f .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-label-space { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793881114655-ic9u30w8f.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Overall Chart Title",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T12:18:34.655Z",  "citation": "Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",  "keywords": [    "Image Annotation",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T12:18:34.655Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Annotation","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Overall Chart Title","subhead":"Subhead to describe the test and what's being measured and why","caption":"Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageAnnotationData":{"imageUrl":"https://cdn.mos.cms.futurecdn.net/HeYFnhDFng5XkmJDCNPaHK.jpg","nodes":[{"id":"node-1793880975394","x":54.37,"y":63.32,"title":"SDXC Card Slot","description":"Memory card slot for importing photos and videos straight from your camera"},{"id":"node-1793881029411","x":61.98,"y":53.98,"title":"HDMI & USB-C port","description":"On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports"},{"id":"node-1793881068370","x":51.89,"y":51.41,"title":"Touch ID button","description":"This button powers on the MacBook Pro, and can scan your fingerprint to log in"}],"fullBleed":false}},"slides":[]}</script><div id="fv-chart-1793881114655-ic9u30w8f" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header   fv-is-image-annotation"><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793881114655-ic9u30w8f-image-annotation-1" data-chart-type="Image Annotation" data-title="Image Annotation" data-subhead="" data-caption="Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" style=""><div class="fv-benchmark-group"><div class="fv-ia-container"><div class="fv-ia-wrapper"><img src="https://cdn.mos.cms.futurecdn.net/HeYFnhDFng5XkmJDCNPaHK.jpg" alt="Annotated image" class="fv-ia-image" loading="lazy" referrerpolicy="no-referrer" /><div class="fv-ia-node-container" style="left: 54.37%; top: 63.32%;"><button class="fv-ia-node-button" data-node-id="node-1793880975394" data-title="SDXC Card Slot" data-desc="Memory card slot for importing photos and videos straight from your camera">1<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div><div class="fv-ia-node-container" style="left: 61.98%; top: 53.98%;"><button class="fv-ia-node-button" data-node-id="node-1793881029411" data-title="HDMI &amp; USB-C port" data-desc="On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports">2<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div><div class="fv-ia-node-container" style="left: 51.89%; top: 51.41%;"><button class="fv-ia-node-button" data-node-id="node-1793881068370" data-title="Touch ID button" data-desc="This button powers on the MacBook Pro, and can scan your fingerprint to log in">3<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div></div><div class="fv-ia-modals" style="display: none;"><div class="fv-ia-modal-item" data-node-id="node-1793880975394"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">SDXC Card Slot</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">Memory card slot for importing photos and videos straight from your camera</p></div><div class="fv-ia-modal-item" data-node-id="node-1793881029411"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">HDMI &amp; USB-C port</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports</p></div><div class="fv-ia-modal-item" data-node-id="node-1793881068370"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">Touch ID button</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">This button powers on the MacBook Pro, and can scan your fingerprint to log in</p></div></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: block;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;">Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /><div class="fv-ia-explore-wrapper"><button class="fv-ia-explore-btn" aria-label="Explore annotations"><span>Explore</span><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button></div></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793881114655-ic9u30w8f', false); });      } else {        initialize('fv-chart-1793881114655-ic9u30w8f', false);      }    })();      </script></div><p>Combine that with the usual benefits we’ve come to expect from OLED displays, namely the higher contrast ratios and lack of halo effects (where there’s noticeable bloom surrounding light colors that bleeds into pixels that should be showing darker, or completely black, colors) that come thanks to each OLED pixel being independently controlled (including being able to be turned off completely), rather than relying on an LED backlight, which offers less precise control over the pixels in the display. </p><p>The contrast ratio of the PROLED XDR screen is an incredible 10,000,000:1, a pretty huge bump over the 1,000,000:1 contrast ratio of the previous model with a Liquid Retina XDR display. Contrast ratio is a way of comparing the brightest white to the darkest black of a display, and the greater the difference, the more vibrant the image quality, so you can forget about washed-out colors and blacks that look more gray, and enjoy rich, deep colors that really pop compared to darker tones, and even the total blackness that OLED technology enables.</p><p>While MacBook displays have supported the P3 color gamut, which is particularly important for people working with video who require accurate colors, the PROLED XDR screen also supports the Adobe RGB gamut, which offers wider coverage for green and cyan colors, and is popular with photographers and designers.</p><p>The addition of touch functionality has also had implications for the design. The hinges of the MacBook Pro with PROLED XDR Display have been tweaked to reduce movement and flex when you touch the screen. I’d have loved it if Apple had taken this opportunity to increase the amount by which the screen can be pushed back, ideally introducing hinges to allow the touchscreen to lie flat on a desk, or even flip behind the keyboard to turn the laptop into an iPad-like device. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/89azXwnFdttH46BqmTqdJK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YeUJjcgKWYcmwR8CwDB8JK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HXHeYQSaSgsJQ6bQjNeuHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GozakNuSpuaXzR77ySanHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2jVsFCnQtmch4HLfMYeHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>This would have made the redesign of the MacBook Pro with PROLED XDR Display even more ambitious, and would have likely meant much more work for Apple to ensure the macOS operating system works with a 2-in-1 laptop form factor, but it would have made the whole idea of a touchscreen much more viable. Instead, we’re still stuck with a traditional clamshell laptop design, so touchscreen gestures require you hovering your arm over the keyboard as you jab horizontally at the screen — it's not the most natural-feeling way to interact with a device, and this was one of Steve Jobs’ biggest criticisms of touchscreen laptops when, as CEO, he dismissed the idea of Apple making one all those years ago.</p><p>The PROLED XDR screen also allows for thinner bezels around it, and the once-controversial notch that surrounded the webcam has been replaced by Apple's Dynamic Island, as seen on the iPhone, which gives you quick touch access to controls such as media playback, AirDrop sharing and accessing Spotlight. It’s one of the best examples of Apple tweaking macOS to better make use of the touchscreen, and I can confidently predict that the Dynamic Island will be less hated than the notch, which was just dead space that intruded on the desktop.</p><p>The more compact Dynamic Island and thinner bezels mean the screen of this 16-inch Pro is slightly larger than on previous models at 16.3 inches vs 16.2 inches, with a higher resolution of 3472 x 2266 pixels vs 3456 x 2234 pixels.</p><p>The OLED screen technology (and new thermal system that’s used to keep the laptop’s components cool) has also helped Apple reduce the weight of the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) by half a pound — that's 15% lighter — and make it around 1mm thinner.</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.29%;"><img id="nXWMTHzV8rgcLKqKvB6LHK" name="20261105_115909" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/nXWMTHzV8rgcLKqKvB6LHK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" 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 MacBook Pro was always a great showcase that proved powerful workstation laptops don’t need to be big and bulky, so it's impressive that Apple has been able to make this new model both lighter and thinner. </p><p>The final design change is a relatively minor one, but one that will likely prove to be very popular. Apple has <a href="https://www.techradar.com/computing/macbooks/heres-the-secret-behind-the-return-of-the-illuminated-apple-logo-on-the-back-of-the-new-touchscreen-macbook-pro">returned to having an illuminated Apple logo on the back of the lid</a> — it's a nod to the past, while also helping the latest MacBook Pro stand out more compared to the previous models. </p><div class="product"><a data-dimension112="e09b3e62-d902-11f1-a64a-a998b656a65b" data-action="Deal Block" data-label="Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros." data-dimension48="Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="fetJ7HfWYBKLNPcshUh6SQ" name="design 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fetJ7HfWYBKLNPcshUh6SQ-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros.</p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-specs"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026): Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p> </p><p>  </p></th><th  ><p>Apple MacBook Pro with PROLED XDR Display 16-inch base configuration</p><p>  </p></th><th  ><p>Apple MacBook Pro with PROLED XDR Display 16-inch max configuration</p><p>  </p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Processor</p><p>  </p></td><td  ><p>Apple M5 Pro (18-core)</p><p>  </p></td><td  ><p>Apple M5 Max (18-core)</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Graphics</p><p>  </p></td><td  ><p>20-core GPU</p><p>  </p></td><td  ><p>32-core GPU</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Display</p><p>  </p></td><td  ><p>16.3‑inch (diagonal) tandem OLED PROLED XDR display (3472 x 2266), Touch, Wide color (P3 + Adobe RGB), True Tone, ProMotion up to 120Hz</p><p>  </p></td><td  ><p>16.3‑inch (diagonal) tandem OLED PROLED XDR display (3472 x 2266), Touch, Wide color (P3 + Adobe RGB), True Tone, ProMotion up to 120Hz</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Memory</p><p>  </p></td><td  ><p>24GB Unified Memory</p><p>  </p></td><td  ><p>36GB Unified Memory</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Storage</p><p>  </p></td><td  ><p>1TB SSD</p><p>  </p></td><td  ><p>2TB SSD</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Battery Life</p><p>  </p></td><td  ><p>Integrated 100‑watt‑hour lithium‑polymer battery, up to 17   hours web browsing, up to 24 hours video streaming</p><p>  </p></td><td  ><p>Integrated 100‑watt‑hour lithium‑polymer battery, up to 16 hours web   browsing, up to 22 hours video streaming</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Ports</p><p>  </p></td><td  ><p>3x USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio, MagSafe 3</p><p>  </p></td><td  ><p>3x USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio, MagSafe 3</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Audio &amp; Camera</p><p>  </p></td><td  ><p>High-fidelity six‑speaker sound system with force-cancelling woofers, 12MP Center Stage camera with support for Desk View</p><p>  </p></td><td  ><p>High-fidelity six‑speaker sound system with force-cancelling woofers, 12MP Center Stage camera with support for Desk View</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Wireless</p><p>  </p></td><td  ><p>Wi-Fi 7; Bluetooth 6.0</p><p>  </p></td><td  ><p>Wi-Fi 7; Bluetooth 6.0</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Dimensions &amp; Weight</p><p>  </p></td><td  ><p>0.63 x 14 x 9.62 inches (1.60 x 35.55 x 24.42cm), 4lbs (1.82kg)</p><p>  </p></td><td  ><p>0.63 x 14 x 9.62 inches (1.60 x 35.55 x 24.42cm), 4.1lbs (1.84kg)</p><p>  </p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-performance"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Performance</span></h2><ul><li><strong>No M6 version with PROLED XDR Display</strong></li><li><strong>Touchscreen is responsive, but not an essential addition</strong></li><li><strong>Very fast SSD</strong></li></ul><p>I’m going to be honest: I think Apple has got itself into a little bit of a pickle with its M-series naming convention and release cadence. For a company that was often lauded for offering an elegant simplicity here, compared to the complexity of some competitors, it’s made a bit of a confusing mess.</p><p>Want the very latest M-series architecture, the <a href="https://www.techradar.com/computing/macs/apples-new-mac-mini-looks-the-same-but-the-m6-inside-brings-a-major-performance-boost">M6</a>, which is the company’s first-ever 2nm compute chip? Well, if so, you can forget about the PROLED XDR Display, as Apple is only offering it in the 14-inch MacBook Pro with Mini-LED screen. If you want the M6 and don’t care about a touchscreen or OLED, but prefer the larger 16-inch screen size, then you’re out of luck.</p><p>If you want the most powerful chips in a MacBook, then you’re left with the previous-generation <a href="https://www.techradar.com/pro/stop-should-you-upgrade-your-m1-max-apple-mac-to-the-m5-gpu-and-memory-bandwidth-data-reveal-the-surprising-answer">M5 Pro and Max </a>chips. But, getting an M5 Max-powered MacBook Pro doesn’t guarantee it’s the most powerful chip, as the default M5 Max chip that comes with the MacBook Pro with PROLED XDR Display 16-inch features an 18-core CPU and 32-core GPU, but you can upgrade (for $300 / £300 extra) to a more powerful M5 Max with a 40-core GPU. To be honest, unless you’re working with extremely graphically-intensive projects, the standard M5 Max chip will be more than enough, and even the M5 Pro will handle pretty much anything you throw at it. </p><p>As I mentioned, if you want the M6 generation and the improvements it brings, namely with a smaller 2nm process, which should lead to better power efficiency, and a dual 16-core Neural Engine for improved on-device AI performance, then you’ll need to forego both the PROLED XDR Display and 16-inch screen size.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793878332364-g9uny7ijt *, #fv-chart-1793878332364-g9uny7ijt *:before, #fv-chart-1793878332364-g9uny7ijt *:after, #fv-chart-1793878332364-g9uny7ijt-slideshow *, #fv-chart-1793878332364-g9uny7ijt-slideshow *:before, #fv-chart-1793878332364-g9uny7ijt-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793878332364-g9uny7ijt, #fv-chart-1793878332364-g9uny7ijt-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878332364-g9uny7ijt { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793878332364-g9uny7ijt.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn.disabled, #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793878332364-g9uny7ijt .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793878332364-g9uny7ijt .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793878332364-g9uny7ijt .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793878332364-g9uny7ijt .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793878332364-g9uny7ijt .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793878332364-g9uny7ijt .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-pie-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-bar-product, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-product-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-cluster, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-label-space, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-chart-space, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-benchmark-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dropdown-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-carousel-nav-btn, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-chart-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-chart-subhead, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-header, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-vs, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dials-grid, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dial-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793878332364-g9uny7ijt .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878332364-g9uny7ijt.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Benchmarks",  "description": "How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T11:32:12.364Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "3DMark: Steel Nomad",    "Blackmagic Disk Speed Test: Write",    "Blackmagic Disk Speed Test: Read",    "Geekbench 6.7.2: Single-Core",    "Geekbench 6.7.2: Multi-Core",    "Geekbench 7.1.0: Single-Core",    "Geekbench 7.1.0: Multi-Core",    "Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score",    "Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score",    "Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score",    "PugetBench for Adobe CC (Photoshop)",    "PugetBench for Adobe CC (Premiere Pro)",    "3DMark: Steel Solar Bay",    "Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)",    "3DMark\u003cdiv>\u003cbr>\u003c/div>",    "Blackmagic Disk Speed",    "Geekbench",    "PugetBench",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – 3DMark: Steel Nomad",      "value": 4402,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – 3DMark: Steel Solar Bay",      "value": 78412,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Blackmagic Disk Speed Test: Write",      "value": 13335,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Blackmagic Disk Speed Test: Read",      "value": 12783,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 6.7.2: Single-Core",      "value": 4359,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 6.7.2: Multi-Core",      "value": 30327,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 7.1.0: Single-Core",      "value": 3766,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 7.1.0: Multi-Core",      "value": 35679,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score",      "value": 6200,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score",      "value": 47515,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score",      "value": 64473,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – PugetBench for Adobe CC (Photoshop)",      "value": 18431,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – PugetBench for Adobe CC (Premiere Pro)",      "value": 155248,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)",      "value": 109,      "unitText": "fps"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T11:32:12.364Z","state":{"data":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Blackmagic Disk Speed Test: Write","value":13335,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Blackmagic Disk Speed Test: Read","value":12783,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 6.7.2: Single-Core","value":4359,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 6.7.2: Multi-Core","value":30327,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 7.1.0: Single-Core","value":3766,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 7.1.0: Multi-Core","value":35679,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","value":6200,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","value":47515,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","value":64473,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"PugetBench for Adobe CC (Photoshop)","value":18431,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"PugetBench for Adobe CC (Premiere Pro)","value":155248,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"3DMark: Steel Nomad","value":4402,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"3DMark: Steel Solar Bay","value":78412,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)","value":109,"unit":"fps","testDate":"","color":"","site":"TechRadar"}],"products":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["3DMark: Steel Nomad","Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read","Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)","3DMark: Steel Solar Bay","Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["3DMark: Steel Nomad","Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read","Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)","3DMark: Steel Solar Bay","Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)"],"productColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#1A4E6B"}],"initialProductColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#1A4E6B"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["3DMark: Steel Nomad","3DMark: Steel Solar Bay"]},{"name":"Group 2","attributes":["Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read"]},{"name":"Group 3","attributes":["Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score"]},{"name":"Group 4","attributes":["PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Carousel","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Benchmarks","subhead":"How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"grouped-bar-Group 1":"3DMark<div><br><\/div>","grouped-bar-Group 2":"Blackmagic Disk Speed","grouped-bar-Group 3":"Geekbench","grouped-bar-Group 4":"PugetBench"},"xAxisLabelOverrides":{},"subheadOverrides":{"bar-Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)":"How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests"},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793878332364-g9uny7ijt" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Benchmarks</h3><p class="fv-chart-subhead">How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests</p><div class="fv-carousel-title-controls"><button class="fv-carousel-nav-btn prev">< Prev</button><h4 class="fv-benchmark-title" style="margin: 0 !important;">3DMark<div><br /></div></h4><button class="fv-carousel-nav-btn next">Next ></button></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 1" data-chart-type="Bar" data-title="3DMark<div><br /></div>" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">3DMark: Steel Nomad</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 5.5024999999999995%; background-color: #1A4E6B;" data-target-width="5.5024999999999995" data-target-margin="0"></div><span class="fv-bar-value-outside">4402</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">3DMark: Steel Solar Bay</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 98.015%; background-color: #1A4E6B;" data-target-width="98.015" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78412</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20,000</span><span>40,000</span><span>60,000</span><span>80,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>3DMark<div><br /></div> Data</caption><thead><tr><th>Product</th><th>3DMark: Steel Nomad (Score)</th><th>3DMark: Steel Solar Bay (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>4402</td><td>78412</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 2" data-chart-type="Bar" data-title="Blackmagic Disk Speed" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Blackmagic Disk Speed Test: Write</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 88.9%; background-color: #1A4E6B;" data-target-width="88.9" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13335</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Blackmagic Disk Speed Test: Read</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 85.22%; background-color: #1A4E6B;" data-target-width="85.22" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12783</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>Blackmagic Disk Speed Data</caption><thead><tr><th>Product</th><th>Blackmagic Disk Speed Test: Write (Score)</th><th>Blackmagic Disk Speed Test: Read (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>13335</td><td>12783</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 3" data-chart-type="Bar" data-title="Geekbench" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 6.7.2: Single-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 5.44875%; background-color: #1A4E6B;" data-target-width="5.44875" data-target-margin="0"></div><span class="fv-bar-value-outside">4359</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 6.7.2: Multi-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.908750000000005%; background-color: #1A4E6B;" data-target-width="37.908750000000005" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30327</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 7.1.0: Single-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 4.7075%; background-color: #1A4E6B;" data-target-width="4.7075" data-target-margin="0"></div><span class="fv-bar-value-outside">3766</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 7.1.0: Multi-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 44.598749999999995%; background-color: #1A4E6B;" data-target-width="44.598749999999995" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35679</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 7.75%; background-color: #1A4E6B;" data-target-width="7.75" data-target-margin="0"></div><span class="fv-bar-value-outside">6200</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 59.39375%; background-color: #1A4E6B;" data-target-width="59.39375" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47515</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80.59125%; background-color: #1A4E6B;" data-target-width="80.59125" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64473</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20,000</span><span>40,000</span><span>60,000</span><span>80,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>Geekbench Data</caption><thead><tr><th>Product</th><th>Geekbench 6.7.2: Single-Core (Score)</th><th>Geekbench 6.7.2: Multi-Core (Score)</th><th>Geekbench 7.1.0: Single-Core (Score)</th><th>Geekbench 7.1.0: Multi-Core (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>4359</td><td>30327</td><td>3766</td><td>35679</td><td>6200</td><td>47515</td><td>64473</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 4" data-chart-type="Bar" data-title="PugetBench" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">PugetBench for Adobe CC (Photoshop)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 9.2155%; background-color: #1A4E6B;" data-target-width="9.2155" data-target-margin="0"></div><span class="fv-bar-value-outside">18431</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">PugetBench for Adobe CC (Premiere Pro)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77.62400000000001%; background-color: #1A4E6B;" data-target-width="77.62400000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">155248</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>50,000</span><span>100,000</span><span>150,000</span><span>200,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>PugetBench Data</caption><thead><tr><th>Product</th><th>PugetBench for Adobe CC (Photoshop) (Score)</th><th>PugetBench for Adobe CC (Premiere Pro) (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>18431</td><td>155248</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-bar-Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #1A4E6B;" data-target-width="72.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">109</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">fps</div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>109</td></tr></tbody></table></div></div></div><div class="fv-carousel-counter">1 of 5</div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793878332364-g9uny7ijt', false); });      } else {        initialize('fv-chart-1793878332364-g9uny7ijt', false);      }    })();      </script></div><p>The MacBook Pro with PROLED XDR Display model Apple sent to me for review comes with the M5 Max chip with 18-core CPU and 40-core GPU, 128GB of unified memory, and 2TB of storage. That’s a hefty list of specs, and would set you back a similarly hefty $7,399 / £7,399 / AU$11,699.</p><p>I’ve previously tested the M5 and M5 Pro in the 14-inch MacBook Pros launched earlier this year and late last year, and as expected, the M5 Max in my 16-inch Apple MacBook Pro with PROLED XDR Display is incredibly powerful, with macOS and its built-in apps all launching quickly and feeling fast and snappy.</p><p>When it comes to the touchscreen, macOS again feels fast and responsive, and using a finger to quickly browse up and down a website, selecting options in a dialog box or menu, and moving windows around the screen all feels natural, especially if you’ve ever used an iPhone or an iPad.</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.29%;"><img id="xGeVJY3RGUPd4dqxpUv8KK" name="20261105_120122" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/xGeVJY3RGUPd4dqxpUv8KK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A comparison of the Mini-LED screen of previous MacBooks on the left, with the PROLED XDR Display on the right. Both at 100% brightness </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unlike people who have only used Macs and MacBooks from the once touchscreen-phobic Apple, I’ve had extensive experience using Windows laptops and Chromebooks with touchscreens, so using one on the MacBook Pro isn’t as big of a culture shock as it might be to some. While it worked well, and there are some nice touches (forgive the pun), such as pressing down your finger on certain tools in Final Cut Pro to open up a radial menu for more precise touch control, I have to say that <a href="https://www.techradar.com/reviews/windows-11">Windows 11</a>, Chrome OS, and Google’s new Googlebook OS are better suited to touch controls. </p><p>This might come as little surprise, as this is Apple’s first MacBook to have a touchscreen, while Windows laptops and Chromebooks have had them for decades, and in the case of Chrome OS and Googlebook OS, Google has used its experience working on Android to develop the operating system. And, for as much grief as a lot of us (myself included) gave Windows 8 when it launched back in 2012, it inspired Microsoft to make a touchscreen-friendly interface, elements of which are still found in Windows 11, primarily with larger, easier to tap, buttons and menus.</p><p>Currently, macOS Tahoe still looks and feels like an operating system that’s best used with a traditional mouse and keyboard, because that’s what it is. But that also means some elements of the user interface, such as menus, feel a bit fiddly to control via touch.</p><p>Hopefully this will change if more MacBooks come out with touchscreens. But, because Apple has decided to put its first laptop touchscreen on its most powerful (and expensive) MacBooks, there’s a danger that the company will end up thinking that because the numbers of touchscreen MacBook users is so small, it’s not worth making big changes to the interface.</p><p>Another issue I have with Apple’s decision to put a touchscreen on its highest-end MacBook Pros, rather than a more mainstream MacBook Air or Neo — <a href="https://www.techradar.com/computing/macbooks/oops-apple-just-put-its-first-laptop-touchscreen-on-the-wrong-macbook">something I’ve written about</a> — is that touchscreen gestures and controls often aren’t the best way to control a laptop when you're performing complex tasks where precision is key. Sure, you can pull up a virtual piano in Garage Band and tap on the keys on screen, but while this is handy for quick ideas, you don’t want to play or write an entire song using it. </p><p>Most professionals will have peripherals, such as physical MIDI keyboards, for precise control. It’s the same with photographers and digital artists — using your fingers to pinch and zoom an image feels fast and natural, as does scribbling some notes or doodles, but for long-term use, many professionals will use a drawing tablet. If the MacBook’s PROLED XDR Display was compatible with the Apple Pencil stylus, that would make it a more useful tool for professionals, but it's not, which is a rather odd omission.</p><p>One touchscreen-friendly change Apple has made to macOS, and which I’m a big fan of, is adding an iPhone-like Dynamic Island where the notch around the webcam used to be. Tapping this gives you quick context-relevant tools, such as media controls when watching a video. Spotlight search and Siri AI are now located here as well. This is a great addition that adds value to the MacBook Pro’s touchscreen, and I’d like to see it expanded, and more touch-friendly UI elements to make the touchscreen a must-have, rather than nice-to-have-but-far-from-essential, which is what it feels like at the moment.</p><p>The tandem OLED tech powering the PROLED XDR Display is a much bigger deal, and likely the reason why most people will consider the Apple MacBook Pro with PROLED XDR Display over the standard model. The previous Mini-LED screen was already one of the best displays you’d find on a laptop, and thanks to tandem OLED, this new screen is even better. Straight out of the box without needing any calibration, the colors are bright and vibrant — so much so that I was surprised to see that the screen was only at 50% brightness. </p><p>Placing my 14-inch MacBook Pro with the M5 chip and Mini-LED screen next to the 16-inch MacBook Pro with <a href="">PROLED XDR</a> Display 16-inch really highlighted just how much better the PROLED XDR screen is. The Mini-LED looked dimmer, despite it being at 100% brightness, even with the PROLED XDR screen remaining at 50%. Now, as I said, the Mini-LED display of the (slightly) older MacBook Pro is no slouch, so to see such a stark difference in image quality is a big deal, especially for people who want a laptop for working with photos, videos and digital art. The new support for Adobe RGB color gamut is another big plus here, though as usual for Mac devices you’ll want to turn off the True Tone feature — it tweaks the colors of the screen depending on the ambient light you’re working in, which can make what’s on the screen look better to you in that moment, but could lead to color inaccuracies in a production workflow.</p><p>I won’t delve too deep into the performance of the M5 Max, as it’s been in other Apple devices for a while now, but this is the first time I’ve used a MacBook running it (I have tested both the previous M5 and M5 Pro MacBook Pro models).</p><p>According to Apple’s benchmarks, the M5 Max is around nine times faster than the M4 Max when it comes to ‘first token performance’, while AI image generation is apparently around six times faster. If those are the kind of stats that excite you, then enjoy! </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.29%;"><img id="fxpZYKDQHGLz3XkFqaj3LK" name="20261105_115759" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/fxpZYKDQHGLz3XkFqaj3LK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In our benchmark tests, compared to the M5 MacBook Pro with a 10-core CPU and 10-core GPU, the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) with an 18-core CPU and 40-core GPU unsurprisingly outperformed the older MacBook Pro when it came to graphic-intensive tests. In the 3D Mark Wild Life Extreme graphics test, for example, the M5 MacBook Pro scored 73.6fps compared to the M5 Max’s 214.1fps.</p><p>With gaming, the M5 MacBook Pro hit 11fps at 1920 x 1200 with Ray Tracing set to Ultra, while the M5 Max model managed a much more playable 38.75fps. This is a good example of the graphical performance gap, but if you want a laptop to game on you’re still better off buying a dedicated gaming laptop, which is a bit of a shame, as the PROLED XDR Display makes games look fantastic.</p><p>The SSD inside the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) offers up to 14.5GB/s speeds, with Apple claiming it’s twice as fast as the SSD in the previous generation, and in our tests it scored a very good 13,334.7MB/s and 12,782.7MB/s write and read speeds, respectively. A fast SSD like this is important if you’re working on large files and complex projects.</p><p>The SSD in the Surface Laptop Ultra with RTX Spark N1X chip scored a rather paltry 1,921MB/s write speeds in comparison. Check out our benchmark result charts for more comparisons.</p><div class="product"><a data-dimension112="e09b6892-d902-11f1-b866-d145e4a8832b" data-action="Deal Block" data-label="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension48="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iPsSRLxVnLSd9PewPGhBkR" name="performance5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPsSRLxVnLSd9PewPGhBkR-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b6892-d902-11f1-b866-d145e4a8832b" data-action="Deal Block" data-label="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension48="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-review-battery-life"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) review: Battery Life</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793878767824-wkr7x1tf3 *, #fv-chart-1793878767824-wkr7x1tf3 *:before, #fv-chart-1793878767824-wkr7x1tf3 *:after, #fv-chart-1793878767824-wkr7x1tf3-slideshow *, #fv-chart-1793878767824-wkr7x1tf3-slideshow *:before, #fv-chart-1793878767824-wkr7x1tf3-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793878767824-wkr7x1tf3, #fv-chart-1793878767824-wkr7x1tf3-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878767824-wkr7x1tf3 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn.disabled, #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793878767824-wkr7x1tf3 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793878767824-wkr7x1tf3 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-pie-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-bar-product, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-product-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-cluster, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-label-space, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-chart-space, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-benchmark-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dropdown-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-carousel-nav-btn, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-chart-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-chart-subhead, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-header, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-vs, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dials-grid, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dial-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793878767824-wkr7x1tf3 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Battery life results",  "description": "How long does the battery last?",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T11:39:27.824Z",  "citation": "Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "Apple MacBook Pro 16-inch (2024, M4 Pro)",    "Asus ProArt P16 RTX Spark",    "Battery life video test",    "Versus Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 RTX Spark – Battery life video test",      "value": 11.383333333333333,      "unitText": "hours, mins"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 16-inch (2024, M4 Pro) – Battery life video test",      "value": 21.5,      "unitText": "hours, mins"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Battery life video test",      "value": 24.35,      "unitText": "hours, mins"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T11:39:27.824Z","state":{"data":[{"productName":"Asus ProArt P16 RTX Spark","attribute":"Battery life video test","value":11.383333333333333,"unit":"hours, mins","displayValue":"11:23:00","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","attribute":"Battery life video test","value":21.5,"unit":"hours, mins","displayValue":"21:30:00","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Battery life video test","value":24.35,"unit":"hours, mins","displayValue":"24:21:00","testDate":"","color":"","site":"TechRadar"}],"products":["Asus ProArt P16 RTX Spark","Apple MacBook Pro 16-inch (2024, M4 Pro)","Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["Battery life video test"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","Apple MacBook Pro 16-inch (2024, M4 Pro)","Asus ProArt P16 RTX Spark"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["Battery life video test"],"productColors":[{"productName":"Asus ProArt P16 RTX Spark","color":"#1A4E6B"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","color":"#B81C70"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#8CC3E0"}],"initialProductColors":[{"productName":"Asus ProArt P16 RTX Spark","color":"#1A4E6B"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","color":"#B81C70"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#8CC3E0"}],"attributeColors":[],"attributeGroups":[],"chartType":"Versus","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Battery life results","subhead":"How long does the battery last?","caption":"Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-Battery life video test":"How long does the battery last?"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793878767824-wkr7x1tf3" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Battery life results</h3><p class="fv-chart-subhead">How long does the battery last?</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793878767824-wkr7x1tf3-versus-chart" data-chart-type="Versus" data-title="Versus Comparison" data-subhead="How long does the battery last?" data-caption="Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off." style=""><div class="fv-benchmark-group"><table class="sr-only"><caption>Versus Comparison Data</caption><thead><tr><th>Attribute</th><th>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</th><th>Apple MacBook Pro 16-inch (2024, M4 Pro)</th><th>Asus ProArt P16 RTX Spark</th></tr></thead><tbody><tr><td>Battery life video test</td><td>24.35</td><td>21.5</td><td>11.383333333333333</td></tr></tbody></table><div class="fv-versus-chart" id="fv-chart-1793878767824-wkr7x1tf3-versus" data-versus-data="[{"attribute":"Battery life video test","originalAttribute":"Battery life video test","productData":{"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)":{"value":24.35,"unit":"hours, mins","displayValue":"24:21:00"},"Apple MacBook Pro 16-inch (2024, M4 Pro)":{"value":21.5,"unit":"hours, mins","displayValue":"21:30:00"},"Asus ProArt P16 RTX Spark":{"value":11.383333333333333,"unit":"hours, mins","displayValue":"11:23:00"}}}]" data-left-color="#2E6E93" data-right-color="#E8238C"><div class="fv-versus-header"><div class="fv-versus-select-wrapper fv-left"><div class="fv-versus-select-container"><select class="fv-versus-select fv-select-left" style="color: #2E6E93; border-color: #2E6E93;"><option value="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" selected="">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</option><option value="Apple MacBook Pro 16-inch (2024, M4 Pro)">Apple MacBook Pro 16-inch (2024, M4 Pro)</option><option value="Asus ProArt P16 RTX Spark">Asus ProArt P16 RTX Spark</option></select><svg class="fv-versus-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: #2E6E93;"><polyline points="6 9 12 15 18 9"></polyline></svg></div></div><div class="fv-versus-vs">VS</div><div class="fv-versus-select-wrapper fv-right"><div class="fv-versus-select-container"><select class="fv-versus-select fv-select-right" style="color: #E8238C; border-color: #E8238C;"><option value="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</option><option value="Apple MacBook Pro 16-inch (2024, M4 Pro)" selected="">Apple MacBook Pro 16-inch (2024, M4 Pro)</option><option value="Asus ProArt P16 RTX Spark">Asus ProArt P16 RTX Spark</option></select><svg class="fv-versus-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: #E8238C;"><polyline points="6 9 12 15 18 9"></polyline></svg></div></div></div><div class="fv-versus-body"><div class="fv-versus-row" data-index="0"><div class="fv-versus-label"><span>Battery life video test (hours, mins)</span></div><div class="fv-versus-bar-container"><div class="fv-versus-bar-left-wrapper" style="position: relative;"><div class="fv-versus-bar fv-versus-bar-left" style="--target-width: 95%; background-color: #2E6E93;" data-target-width="95"><span class="fv-versus-pct-diff" style="color: rgba(255, 255, 255, 0.9);">+13%</span><span class="fv-versus-val-text fv-inside-left" style="margin-left: auto;">24:21:00</span></div></div><div class="fv-versus-bar-right-wrapper" style="position: relative;"><div class="fv-versus-bar fv-versus-bar-right" style="--target-width: 75.05133470225873%; background-color: #E8238C;" data-target-width="75.05133470225873"><span class="fv-versus-val-text fv-inside-right" style="margin-right: auto;">21:30:00</span></div></div><div class="fv-versus-center-line" style="background-color: #ffffff;"></div></div></div></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: block;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;">Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.</span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793878767824-wkr7x1tf3', false); });      } else {        initialize('fv-chart-1793878767824-wkr7x1tf3', false);      }    })();      </script></div><p>Apple has claimed the new 16-inch MacBook Pro with PROLED XDR Display lasts up to 24 hours on battery when streaming videos, and up to 17 hours when browsing the web, and I found those claims to be pretty much spot on, with the device lasting an incredible 24 hours and 21 minutes in our battery test, which involves playing a looped 1080p video at 50% brightness.</p><p>It blows past the <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-16-inch-m4-pro-2024">MacBook Pro 16-inch (M4 Pro, 2024)</a>, which managed 21 hours and 32 minutes in the same test, and over <em>double</em> the 11 hours and 23 minutes the Asus ProArt P16 RTX Spark hit. The MacBook Pro is able to sustain its performance when on battery life, rather than throttling it to conserve energy, so you’ll be able to go multiple work days on a single charge while still being productive, though of course the battery will drain more quickly if you’re using it for more intensive tasks.</p><div class="product"><a data-dimension112="e09b6a40-d902-11f1-8f43-8f95ccadb634" data-action="Deal Block" data-label="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension48="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="xcpS9DtTDvV2vrAVisBtAo" name="battery life 5_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xcpS9DtTDvV2vrAVisBtAo-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b6a40-d902-11f1-8f43-8f95ccadb634" data-action="Deal Block" data-label="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension48="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>Should I buy the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the MacBook Pro with PROLED XDR Display if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You want a powerful yet portable workstation laptop for creative work</strong><br />The MacBook Pro with PROLED XDR Display performs brilliantly when tasked with almost any creative project, but the M5 Max chip really comes into its own when handling complex graphical workloads. Battery life is also phenomenal, allowing you to work on this laptop pretty much anywhere.<br /><strong>✅ Your work requires accurate image quality</strong><br />The tandem OLED tech behind the PROLED XDR Display really is impressive, and thanks to support for the P3 and Adobe RGB color gamuts you get very accurate images without the need for deep calibration — making this MacBook a great choice for photographers and videographers.<br /><strong>✅ You develop apps for iPhones and iPads</strong><br />One of the best use cases I’ve seen for the touchscreen aspect of the PROLED XDR Display is for app developers who can run emulated versions of their apps on the MacBook, and use the screen to see how touchscreen elements will work.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the MacBook Pro with PROLED XDR Display  if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You don’t care about the touchscreen</strong><br />If you still agree with Steve Jobs’ touchscreen-on-MacBook skepticism, you can save a lot of money by going for one of Apple's many other MacBooks. You will miss out on the gorgeous tandem OLED display, however. <br /><strong>❌ You </strong><em><strong>only</strong></em><strong> care about the touchscreen</strong><br />Conversely, if you want a laptop primarily for a touchscreen, I’d recommend a 2-in-1 Windows 11 laptop or Chromebook, which are currently much better suited to touchscreen controls. Paying so much extra just for a touchscreen on the MacBook Pro with PROLED XDR Display is a waste.<br /><strong>❌ You don’t need the power or image quality</strong><br />The MacBook Pro with PROLED XDR Display 16-inch is a very expensive laptop in all its configurations, and even the base model will be overkill for most users.</p></div></div></div></div><h2 class="article-body__section" id="section-also-consider"><span>Also consider</span></h2>        <div class="featured_product_block featured_block_versus" data-id="e09b6c2a-d902-11f1-8e80-5f83a0871a5b">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check="" style='padding-top:100.06%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/d9mjqAq8RqF9d53t6FZxbB.png" alt="Samsung Galaxy Book6 Pro front-on view showing screen" /></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Samsung</div>                    <div class="featured__title">Galaxy Book6 Pro (14-inch)</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Exquisite design</li><li class='list-item list-item-pros'>Glorious large display</li><li class='list-item list-item-pros'>Respectable graphical performance</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Not the lightest</li><li class='list-item list-item-cons'>Lacks ports</li><li class='list-item list-item-cons'>Heavy keys</li></ul></div></div>            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="e09b6c8e-d902-11f1-abdd-81fe505a2152">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check="" style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/v2/t:18,l:12,cw:1493,ch:1493,q:80/Q9ZXWhMmd2bnSYFHr5VRu5.jpg" alt="HP Chromebook Plus 15.6-inch with screen open" /></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Asus</div>                    <div class="featured__title">ProArt P16 RTX Spark</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Stunning 3K OLED screen</li><li class='list-item list-item-pros'>Stylish, lightweight design</li><li class='list-item list-item-pros'>Strong creative, AI and gaming performance</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Very expensive</li><li class='list-item list-item-cons'>Bested by dedicated gaming or creative laptops</li><li class='list-item list-item-cons'>Some wobble to the screen</li></ul></div></div>            </div>        </div><h2 class="article-body__section" id="section-how-i-tested-the-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>How I tested the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Z7wMuuRm9297Um8u5dKh3H" name="matt" alt="Matt Hanson using the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" src="https://cdn.mos.cms.futurecdn.net/Z7wMuuRm9297Um8u5dKh3H-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>I used as my main work laptop for five days</strong></li><li><strong>I used a variety of apps during my testing</strong></li><li><strong>I have extensive experience reviewing MacBooks, laptops and Chromebooks</strong></li></ul><p>As soon as Apple sent me the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) I started using it as my daily laptop, and even wrote some of this review on it. I tested numerous apps including Photoshop, and played <em>Cyberpunk 2077</em> on it to see how it performs, and to see how good the PROLED XDR Display looks. I also viewed and edited some very high-quality photos by photographer Paul Reiffer, and supplied by Apple.</p><p>Throughout my time with the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max), I used both the standard keyboard and touchpad, and the touchscreen.</p><p>I’ve been reviewing laptops, including MacBooks and touchscreen laptops, for nearly 20 years, and have used that experience to inform this review. </p><ul><li><em>First reviewed: November 2026</em></li><li>Read more about <a href="https://www.techradar.com/news/how-we-test"><u>how we test</u></a></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/macbooks/apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max</link>
                                                                            <description>
                            <![CDATA[ Apple has finally relented and put a touchscreen on a MacBook — but with gorgeous tandem OLED technology behind the display, the touch element is perhaps the least interesting aspect. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3KMSCZ9Ac8Lap2R73e2Hyh</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zH8fM2zM7aXnBAXMVrGsHK-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 14:02:44 +0000</pubDate>                                                                                                                                <updated>Fri, 06 Nov 2026 09:25:51 +0000</updated>
                                                                                                                                            <category><![CDATA[Macbooks]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                <author><![CDATA[ matthew.hanson@futurenet.com (Matt Hanson) ]]></author>                    <dc:creator><![CDATA[ Matt Hanson ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/emP4wv7FcojxQ73QEARCmZ-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Matt Hanson is a technology journalist who, despite his youthful looks, has been doing this for almost 15 years. He joined TechRadar all the way back in 2014, and over the years has climbed to become Managing Editor, Core Tech, leading a global team of journalists to bring industry-leading coverage of laptops, PCs, software and mobile devices to TechRadar.&lt;/p&gt;&lt;p&gt;During his career, Matt has reviewed and used just about every laptop, from thin and light Ultrabooks, powerful gaming laptops and all manner of Chromebooks. His current favorite laptops are the MacBook Air and Dell XPS 13, as well as the Google Pixelbook Go, though he&#039;s worried Google won&#039;t make a follow-up.&lt;/p&gt;&lt;p&gt;Before he joined TechRadar, Matt worked extensively in the technology magazine industry, with roles in some of the most popular and respected titles, including Linux Format, PC Format, PC Plus, Windows Help &amp; Advice and Windows Vista: The Official Magazine.&lt;/p&gt;&lt;p&gt;As well as TechRadar, Matt frequently contributes to magazines and websites including MacFormat, CreativeBloq, Maximum PC, Digital Camera World and many more, sharing his knowledge of computers, laptops and Macs with a diverse audience.&lt;/p&gt;&lt;p&gt;When not writing about computers and entertainment, Matt enjoys playing games, watching films, making music, reading and running around after his young daughter.&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/zH8fM2zM7aXnBAXMVrGsHK-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office]]></media:description>                                                            <media:text><![CDATA[Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office]]></media:text>
                                <media:title type="plain"><![CDATA[Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zH8fM2zM7aXnBAXMVrGsHK-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-at-a-glance-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>At a glance: Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>The MacBook Pro with PROLED XDR Display is Apple’s latest and greatest workstation laptop aimed at professionals. It doesn’t come with the newest M6 chip architecture, and instead sticks with the previous, yet very powerful, M5 Pro and M5 Max generation. The big change this time around, however, is the PROLED XDR Display. Apple has dropped mini LED technology for tandem OLED, and the screen is gorgeously vibrant — and it’s the first time Apple has included a touchscreen on a MacBook.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>The Apple MacBook Pro with PROLED XDR Display comes in two sizes: 14-inch and 16-inch. The 14-inch model starts at $2,899 / £2,899 / AU$4,599 and the 16-inch model starts at $3,399 / £3,399 / AU$5,499. These versions come with 24GB of unified memory and 1TB storage, and are powered by the M5 Pro chip (the 16-inch model’s M5 Pro chip features a more powerful 20-core GPU, compared to the 14-inches’ 18-core GPU). You can configure both models with the more powerful M5 Max chip up to 128GB memory and 16TB of storage, but things get very expensive, very fast.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>The launch of the Apple MacBook Pro with PROLED XDR Display comes at a time when there’s a lot of competition in the prosumer laptop market, thanks to the launch of a range of laptops powered by Nvidia’s RTX Spark chip. These laptops, such as the <a href="https://www.techradar.com/computing/windows-laptops/asus-proart-p16-rtx-spark">Asus ProArt P16 RTX Spark</a> and Microsoft Surface Laptop Ultra, have powerful chips, unified memory and touchscreens (many of them are OLED as well), which pits them squarely against the new MacBook Pro. </p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793875110430-r15jxat7d *, #fv-chart-1793875110430-r15jxat7d *:before, #fv-chart-1793875110430-r15jxat7d *:after, #fv-chart-1793875110430-r15jxat7d-slideshow *, #fv-chart-1793875110430-r15jxat7d-slideshow *:before, #fv-chart-1793875110430-r15jxat7d-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793875110430-r15jxat7d, #fv-chart-1793875110430-r15jxat7d-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793875110430-r15jxat7d { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793875110430-r15jxat7d.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793875110430-r15jxat7d.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793875110430-r15jxat7d .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793875110430-r15jxat7d-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn.disabled, #fv-chart-1793875110430-r15jxat7d-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793875110430-r15jxat7d-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793875110430-r15jxat7d .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793875110430-r15jxat7d .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793875110430-r15jxat7d .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793875110430-r15jxat7d .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793875110430-r15jxat7d .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793875110430-r15jxat7d .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793875110430-r15jxat7d .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793875110430-r15jxat7d .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793875110430-r15jxat7d .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793875110430-r15jxat7d .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793875110430-r15jxat7d .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793875110430-r15jxat7d .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793875110430-r15jxat7d .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row, #fv-chart-1793875110430-r15jxat7d .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793875110430-r15jxat7d .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793875110430-r15jxat7d .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793875110430-r15jxat7d.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793875110430-r15jxat7d .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-pie-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-bar-product, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-label, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-grouped-product-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-label, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-container, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-cluster, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-label-space, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-x-axis-chart-space, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-benchmark-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dropdown-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-carousel-nav-btn, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-chart-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-chart-subhead, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-header, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-vs, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select-container, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-versus-select, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dials-grid, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-dial-title, #fv-chart-1793875110430-r15jxat7d.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793875110430-r15jxat7d.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793875110430-r15jxat7d .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row, #fv-chart-1793875110430-r15jxat7d .fv-stacked-product, #fv-chart-1793875110430-r15jxat7d .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-label, #fv-chart-1793875110430-r15jxat7d .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-container, #fv-chart-1793875110430-r15jxat7d .fv-bar-cluster { width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793875110430-r15jxat7d .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-label-space { display: none !important; } #fv-chart-1793875110430-r15jxat7d .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-logo, #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793875110430-r15jxat7d .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793875110430-r15jxat7d .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793875110430-r15jxat7d .fv-dial-title { font-size: 16px !important; } #fv-chart-1793875110430-r15jxat7d .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793875110430-r15jxat7d.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple MacBook Pro with PROLED XDR Display scorecard",  "description": "How the Apple MacBook Pro with PROLED XDR Display scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T10:38:30.431Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "Value",    "Design",    "Performance",    "Battery life",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Value",      "value": 3,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Design",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Performance",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Battery life",      "value": 5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Overall",      "value": 4.5,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T10:38:30.431Z","state":{"data":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Value","value":3,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Design","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Performance","value":5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Battery life","value":5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Overall","value":4.5,"unit":"","maxValue":5}],"products":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["Value","Design","Performance","Battery life","Overall"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["Value","Design","Performance","Battery life","Overall"],"productColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#2E6E93"}],"initialProductColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#E8238C"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Battery life","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple MacBook Pro with PROLED XDR Display scorecard","subhead":"How the Apple MacBook Pro with PROLED XDR Display scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793875110430-r15jxat7d" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple MacBook Pro with PROLED XDR Display scorecard</h3><p class="fv-chart-subhead">How the Apple MacBook Pro with PROLED XDR Display scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793875110430-r15jxat7d-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple MacBook Pro with PROLED XDR Display scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 60%; background-color: #2E6E93;" data-target-width="60" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">3</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #2E6E93;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #2E6E93;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Battery life</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 100%; background-color: #2E6E93;" data-target-width="100" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #2E6E93;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Battery life ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>3</td><td>4.5</td><td>5</td><td>5</td><td>4.5</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793875110430-r15jxat7d', false); });      } else {        initialize('fv-chart-1793875110430-r15jxat7d', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-value-for-money"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Value for money</span></h2><p>Starting at $2,899 / £2,899 / AU$4,599 for the 14-inch version, and $3,399 / £3,399 / AU$5,499 for the 16-inch model, and going all the way up to an astonishing $14,549 / £14,549 / AU$22,424 for the fully specced-out model, the question of value isn’t so much about price, but about what this laptop can enable you to do.</p><p>Put simply, if you just want a MacBook that will excel at day-to-day tasks you’d be much better off buying a <a href="https://www.techradar.com/computing/macbooks/apple-macbook-air-13-inch-m5-review">MacBook Air (M5)</a>, and even for more ambitious workloads, <a href="https://www.techradar.com/computing/macbooks/apple-reveals-imac-m6-and-macbook-pro-m6-and-the-good-news-is-there-are-no-price-hikes">the recently-announced MacBook Pro (M6)</a>, which starts at $1,999 / £1,999 / AU$3,199, will likely more than suffice. Neither of those, of course, feature a touchscreen, but I wouldn’t suggest buying any model of the Apple MacBook Pro with PROLED XDR Display for the touchscreen alone. </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.29%;"><img id="X2jVsFCnQtmch4HLfMYeHK" name="20261105_120206" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/X2jVsFCnQtmch4HLfMYeHK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Thankfully, this version of the MacBook Pro has other features that help to justify the higher price tag, including tandem OLED screen technology, a lighter design, and more powerful components. Despite being older than the M6 chip, both the M5 Pro and M5 Max outperform it, so if you need a seriously powerful laptop, and image quality is of the utmost importance, the Apple MacBook Pro with PROLED XDR Display could be a worthy investment, especially if its raw performance means you can complete projects faster, allowing you to take on more work, for example.</p><p>If you don’t need that kind of horsepower, then there are much more affordable options you should consider, tempting as the touchscreen functionality or OLED display might be.</p><p>Compared to rival RTX Spark laptops, the Apple MacBook Pro with PROLED XDR Display is much more competitive. The Asus ProArt P16 RTX Spark starts at $4,399.99 / £3,899.99 / AU$7,999, though it comes with a lot more memory, packing 64GB.</p><div class="product"><a data-dimension112="e09b398a-d902-11f1-acf1-b59c3499efdd" data-action="Deal Block" data-label="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension48="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="g8utBzWFoUc9TvJbzCghzX" name="value3" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/g8utBzWFoUc9TvJbzCghzX-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford. <a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b398a-d902-11f1-acf1-b59c3499efdd" data-action="Deal Block" data-label="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension48="Meanwhile, the Surface Laptop Ultra starts at $2,599.99 / £2,599 / AU$4,399 for the same amount of memory (24GB), but only half the storage space (512GB). So, while the Apple MacBook Pro with PROLED XDR Display is an extremely expensive laptop, when you consider what it offers, who it’s aimed at, and how much the competition costs, the price tag makes more sense, even if that doesn’t make it any easier to afford." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-design"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Design</span></h2><ul><li><strong>PROLED XDR screen is a clear highlight</strong></li><li><strong>Slightly lighter than previous models</strong></li><li><strong>iPhone-like Dynamic Island replaces the controversial ‘notch’ around the webcam</strong></li></ul><p>Given that the MacBook Pro design hasn’t changed in years, the Apple MacBook Pro with PROLED XDR Display in both size variants comes with some major tweaks in this department. This isn’t, though, the kind of overhaul we saw when Apple introduced the 16-inch and 14-inch MacBook Pros that replaced the 15-inch and 13-inch models, respectively, around five years ago; instead, this is a more subtle refinement of the design, and pretty much all of the tweaks are a result of the new display, so let’s start there.</p><p>Apple calls the new PROLED XDR screen "the best display on a laptop" and, to be fair, it has a good reason to be boastful. Previous screens on the MacBook Pro were already pretty darn good, and now Apple has swapped the mini-LED tech for tandem OLED.  This essentially uses two layers of organic light-emitting diodes (OLED) on top of each other, rather than just a single layer, so peak brightness can go even higher, while the display can remain power-efficient. The PROLED XDR screen can achieve 2,000 nits of peak brightness, whereas the mini-LED screen of previous MacBook Pros had a peak brightness of 1,600. </p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793881114655-ic9u30w8f *, #fv-chart-1793881114655-ic9u30w8f *:before, #fv-chart-1793881114655-ic9u30w8f *:after, #fv-chart-1793881114655-ic9u30w8f-slideshow *, #fv-chart-1793881114655-ic9u30w8f-slideshow *:before, #fv-chart-1793881114655-ic9u30w8f-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793881114655-ic9u30w8f, #fv-chart-1793881114655-ic9u30w8f-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793881114655-ic9u30w8f .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn.disabled, #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793881114655-ic9u30w8f-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793881114655-ic9u30w8f .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793881114655-ic9u30w8f .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793881114655-ic9u30w8f .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793881114655-ic9u30w8f .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793881114655-ic9u30w8f .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793881114655-ic9u30w8f.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793881114655-ic9u30w8f .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-container { position: relative !important; width: auto !important; display: block !important; background-color: transparent !important; overflow: hidden !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-wrapper { position: relative !important; width: auto !important; display: block !important; margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-ia-container { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.fv-full-bleed .fv-ia-wrapper { width: 100% !important; max-width: none !important; margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-image { display: block !important; width: 100% !important; height: auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-container { position: absolute !important; z-index: 10 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button { position: absolute !important; margin-left: -0.75rem !important; margin-top: -0.75rem !important; width: 1.5rem !important; height: 1.5rem !important; border-radius: 9999px !important; display: flex !important; align-items: center !important; justify-content: center !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; transition: all 300ms cubic-bezier(0.4, 0, 0.2, 1) !important; cursor: pointer !important; border: none !important; padding: 0 !important; background-color: #ffffff !important; color: #1e293b !important; font-size: 0.75rem !important; font-weight: 700 !important; font-family: sans-serif !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button:hover { transform: scale(1.1) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button.is-active { background-color: #2E6E93 !important; color: #ffffff !important; transform: scale(1.1) !important; box-shadow: 0 0 0 2px #ffffff !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-pulse-ring { position: absolute !important; inset: 0 !important; border-radius: 9999px !important; background-color: #2E6E93 !important; opacity: 0.4 !important; pointer-events: none !important; z-index: -1 !important; animation: fv-ia-ping 1.5s cubic-bezier(0, 0, 0.2, 1) 3 forwards !important; } @keyframes fv-ia-ping { 75%, 100% { transform: scale(2); opacity: 0; } } #fv-chart-1793881114655-ic9u30w8f .fv-ia-static-tooltip { display: none !important; position: absolute !important; top: -10px !important; left: 50% !important; transform: translate(-50%, -100%) !important; background-color: rgba(255, 255, 255, 0.95) !important; padding: 10px !important; border-radius: 6px !important; box-shadow: 0 4px 12px rgba(0,0,0,0.15) !important; width: max-content !important; max-width: 200px !important; font-size: 13px !important; color: #1f2937 !important; z-index: 20 !important; pointer-events: none !important; white-space: pre-wrap !important; line-height: 1.4 !important; border: 1px solid #e5e7eb !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-button:hover + .fv-ia-static-tooltip { display: block !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo-explore-bar { position: relative !important; width: 100% !important; display: flex !important; justify-content: center !important; align-items: center !important; min-height: 30px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-logo-explore-bar .fv-logo { margin: 0 auto !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-wrapper { position: absolute !important; right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-logo-explore-bar { flex-direction: column !important; min-height: auto !important; gap: 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-ia-explore-wrapper { position: static !important; align-self: flex-end !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn { background-color: rgba(255, 255, 255, 0.95) !important; color: #1e293b !important; border: 1px solid #e5e7eb !important; border-radius: 9999px !important; padding: 0.5rem 1.25rem !important; font-size: 0.875rem !important; font-weight: 600 !important; font-family: sans-serif !important; display: inline-flex !important; align-items: center !important; gap: 0.5rem !important; cursor: pointer !important; box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1) !important; transition: all 0.2s !important; pointer-events: auto !important; flex-shrink: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn:hover { background-color: #ffffff !important; transform: translateY(-2px) !important; box-shadow: 0 6px 8px -1px rgba(0, 0, 0, 0.15) !important; color: #2E6E93 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn svg { transition: transform 0.2s !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-explore-btn:hover svg { transform: translateX(2px) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-active-modal-container { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modals { display: block !important; position: static !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-item { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-item.is-active { display: flex !important; flex-direction: column !important; position: absolute !important; top: 1rem !important; right: 1rem !important; z-index: 20 !important; width: 18rem !important; max-width: calc(100% - 2rem) !important; background-color: #ffffff !important; padding: 1rem !important; border-radius: 0.75rem !important; box-shadow: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04) !important; border: 1px solid #e5e7eb !important; border-top: 4px solid #2E6E93 !important; animation: fv-ia-fade-in 0.2s ease-out !important; gap: 0.75rem !important; max-height: 80% !important; overflow-y: auto !important; pointer-events: auto !important; } @keyframes fv-ia-fade-in { from { opacity: 0; transform: scale(0.95); } to { opacity: 1; transform: scale(1); } } #fv-chart-1793881114655-ic9u30w8f .fv-ia-modal-header { display: flex !important; justify-content: space-between !important; align-items: flex-start !important; margin: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-title { font-size: 1rem !important; line-height: 1.25 !important; font-weight: 700 !important; color: #111827 !important; margin: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-close-button { background: #f9fafb !important; border: 1px solid #e5e7eb !important; border-radius: 50% !important; width: 2rem !important; height: 2rem !important; display: flex !important; align-items: center !important; justify-content: center !important; color: #9ca3af !important; cursor: pointer !important; padding: 0 !important; flex-shrink: 0 !important; transition: all 0.2s !important; box-shadow: 0 1px 2px 0 rgba(0, 0, 0, 0.05) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-close-button:hover { background: #e5e7eb !important; color: #111827 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-node-description { font-size: 0.875rem !important; color: #374151 !important; margin: 0 !important; line-height: 1.625 !important; white-space: pre-wrap !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-ia-node-description { font-size: 0.875rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-ia-empty { display: flex !important; align-items: center !important; justify-content: center !important; height: 200px !important; background-color: #f1f5f9 !important; color: #64748b !important; border: 2px dashed #cbd5e1 !important; border-radius: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-pie-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-bar-product, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-grouped-product-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-cluster, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-label-space, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-x-axis-chart-space, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-benchmark-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dropdown-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-carousel-nav-btn, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-chart-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-chart-subhead, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-header, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-vs, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select-container, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-versus-select, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dials-grid, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-dial-title, #fv-chart-1793881114655-ic9u30w8f.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793881114655-ic9u30w8f.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793881114655-ic9u30w8f .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row, #fv-chart-1793881114655-ic9u30w8f .fv-stacked-product, #fv-chart-1793881114655-ic9u30w8f .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-label, #fv-chart-1793881114655-ic9u30w8f .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-container, #fv-chart-1793881114655-ic9u30w8f .fv-bar-cluster { width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793881114655-ic9u30w8f .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-label-space { display: none !important; } #fv-chart-1793881114655-ic9u30w8f .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-logo, #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793881114655-ic9u30w8f .fv-dial-title { font-size: 16px !important; } #fv-chart-1793881114655-ic9u30w8f .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793881114655-ic9u30w8f.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Overall Chart Title",  "description": "Subhead to describe the test and what's being measured and why",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T12:18:34.655Z",  "citation": "Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",  "keywords": [    "Image Annotation",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": []}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T12:18:34.655Z","state":{"data":[],"products":[],"attributes":[],"selectedProducts":[],"selectedPrimaryProduct":null,"selectedAttributes":[],"productColors":[],"initialProductColors":[],"attributeColors":[],"attributeGroups":[],"chartType":"Image Annotation","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Overall Chart Title","subhead":"Subhead to describe the test and what's being measured and why","caption":"Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false,"imageAnnotationData":{"imageUrl":"https://cdn.mos.cms.futurecdn.net/HeYFnhDFng5XkmJDCNPaHK.jpg","nodes":[{"id":"node-1793880975394","x":54.37,"y":63.32,"title":"SDXC Card Slot","description":"Memory card slot for importing photos and videos straight from your camera"},{"id":"node-1793881029411","x":61.98,"y":53.98,"title":"HDMI & USB-C port","description":"On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports"},{"id":"node-1793881068370","x":51.89,"y":51.41,"title":"Touch ID button","description":"This button powers on the MacBook Pro, and can scan your fingerprint to log in"}],"fullBleed":false}},"slides":[]}</script><div id="fv-chart-1793881114655-ic9u30w8f" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper fv-no-header   fv-is-image-annotation"><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793881114655-ic9u30w8f-image-annotation-1" data-chart-type="Image Annotation" data-title="Image Annotation" data-subhead="" data-caption="Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" style=""><div class="fv-benchmark-group"><div class="fv-ia-container"><div class="fv-ia-wrapper"><img src="https://cdn.mos.cms.futurecdn.net/HeYFnhDFng5XkmJDCNPaHK.jpg" alt="Annotated image" class="fv-ia-image" loading="lazy" referrerpolicy="no-referrer" /><div class="fv-ia-node-container" style="left: 54.37%; top: 63.32%;"><button class="fv-ia-node-button" data-node-id="node-1793880975394" data-title="SDXC Card Slot" data-desc="Memory card slot for importing photos and videos straight from your camera">1<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div><div class="fv-ia-node-container" style="left: 61.98%; top: 53.98%;"><button class="fv-ia-node-button" data-node-id="node-1793881029411" data-title="HDMI &amp; USB-C port" data-desc="On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports">2<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div><div class="fv-ia-node-container" style="left: 51.89%; top: 51.41%;"><button class="fv-ia-node-button" data-node-id="node-1793881068370" data-title="Touch ID button" data-desc="This button powers on the MacBook Pro, and can scan your fingerprint to log in">3<div class="fv-ia-pulse-ring" style="background-color: #2E6E93"></div></button></div></div><div class="fv-ia-modals" style="display: none;"><div class="fv-ia-modal-item" data-node-id="node-1793880975394"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">SDXC Card Slot</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">Memory card slot for importing photos and videos straight from your camera</p></div><div class="fv-ia-modal-item" data-node-id="node-1793881029411"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">HDMI &amp; USB-C port</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">On the right-hand side there's a full size HDMI port and one of three USB-C Thunderbolt 5 ports</p></div><div class="fv-ia-modal-item" data-node-id="node-1793881068370"><div class="fv-ia-modal-header"><h4 class="fv-ia-node-title">Touch ID button</h4><button class="fv-ia-close-button" aria-label="Close"><svg width="14" height="14" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.5" stroke-linecap="round" stroke-linejoin="round"><path d="M18 6 6 18"/><path d="m6 6 12 12"/></svg></button></div><p class="fv-ia-node-description">This button powers on the MacBook Pro, and can scan your fingerprint to log in</p></div></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: block;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;">Side view of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /><div class="fv-ia-explore-wrapper"><button class="fv-ia-explore-btn" aria-label="Explore annotations"><span>Explore</span><svg width="18" height="18" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round"><path d="M5 12h14"></path><path d="m12 5 7 7-7 7"></path></svg></button></div></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793881114655-ic9u30w8f', false); });      } else {        initialize('fv-chart-1793881114655-ic9u30w8f', false);      }    })();      </script></div><p>Combine that with the usual benefits we’ve come to expect from OLED displays, namely the higher contrast ratios and lack of halo effects (where there’s noticeable bloom surrounding light colors that bleeds into pixels that should be showing darker, or completely black, colors) that come thanks to each OLED pixel being independently controlled (including being able to be turned off completely), rather than relying on an LED backlight, which offers less precise control over the pixels in the display. </p><p>The contrast ratio of the PROLED XDR screen is an incredible 10,000,000:1, a pretty huge bump over the 1,000,000:1 contrast ratio of the previous model with a Liquid Retina XDR display. Contrast ratio is a way of comparing the brightest white to the darkest black of a display, and the greater the difference, the more vibrant the image quality, so you can forget about washed-out colors and blacks that look more gray, and enjoy rich, deep colors that really pop compared to darker tones, and even the total blackness that OLED technology enables.</p><p>While MacBook displays have supported the P3 color gamut, which is particularly important for people working with video who require accurate colors, the PROLED XDR screen also supports the Adobe RGB gamut, which offers wider coverage for green and cyan colors, and is popular with photographers and designers.</p><p>The addition of touch functionality has also had implications for the design. The hinges of the MacBook Pro with PROLED XDR Display have been tweaked to reduce movement and flex when you touch the screen. I’d have loved it if Apple had taken this opportunity to increase the amount by which the screen can be pushed back, ideally introducing hinges to allow the touchscreen to lie flat on a desk, or even flip behind the keyboard to turn the laptop into an iPad-like device. </p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/89azXwnFdttH46BqmTqdJK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/YeUJjcgKWYcmwR8CwDB8JK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/HXHeYQSaSgsJQ6bQjNeuHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/GozakNuSpuaXzR77ySanHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/X2jVsFCnQtmch4HLfMYeHK-1920-80.jpg" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>This would have made the redesign of the MacBook Pro with PROLED XDR Display even more ambitious, and would have likely meant much more work for Apple to ensure the macOS operating system works with a 2-in-1 laptop form factor, but it would have made the whole idea of a touchscreen much more viable. Instead, we’re still stuck with a traditional clamshell laptop design, so touchscreen gestures require you hovering your arm over the keyboard as you jab horizontally at the screen — it's not the most natural-feeling way to interact with a device, and this was one of Steve Jobs’ biggest criticisms of touchscreen laptops when, as CEO, he dismissed the idea of Apple making one all those years ago.</p><p>The PROLED XDR screen also allows for thinner bezels around it, and the once-controversial notch that surrounded the webcam has been replaced by Apple's Dynamic Island, as seen on the iPhone, which gives you quick touch access to controls such as media playback, AirDrop sharing and accessing Spotlight. It’s one of the best examples of Apple tweaking macOS to better make use of the touchscreen, and I can confidently predict that the Dynamic Island will be less hated than the notch, which was just dead space that intruded on the desktop.</p><p>The more compact Dynamic Island and thinner bezels mean the screen of this 16-inch Pro is slightly larger than on previous models at 16.3 inches vs 16.2 inches, with a higher resolution of 3472 x 2266 pixels vs 3456 x 2234 pixels.</p><p>The OLED screen technology (and new thermal system that’s used to keep the laptop’s components cool) has also helped Apple reduce the weight of the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) by half a pound — that's 15% lighter — and make it around 1mm thinner.</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.29%;"><img id="nXWMTHzV8rgcLKqKvB6LHK" name="20261105_115909" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/nXWMTHzV8rgcLKqKvB6LHK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" 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 MacBook Pro was always a great showcase that proved powerful workstation laptops don’t need to be big and bulky, so it's impressive that Apple has been able to make this new model both lighter and thinner. </p><p>The final design change is a relatively minor one, but one that will likely prove to be very popular. Apple has <a href="https://www.techradar.com/computing/macbooks/heres-the-secret-behind-the-return-of-the-illuminated-apple-logo-on-the-back-of-the-new-touchscreen-macbook-pro">returned to having an illuminated Apple logo on the back of the lid</a> — it's a nod to the past, while also helping the latest MacBook Pro stand out more compared to the previous models. </p><div class="product"><a data-dimension112="e09b3e62-d902-11f1-a64a-a998b656a65b" data-action="Deal Block" data-label="Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros." data-dimension48="Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="fetJ7HfWYBKLNPcshUh6SQ" name="design 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/fetJ7HfWYBKLNPcshUh6SQ-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Apart from those changes, the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)’s design is essentially the same as the previous few generations of MacBook — but that’s no bad thing, as it remains a great-looking laptop with plenty of ports (three USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio and the MagSafe 3 port) for pros.</p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-specs"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026): Specs</span></h2><div ><table><thead><tr><th class="firstcol " ><p> </p><p>  </p></th><th  ><p>Apple MacBook Pro with PROLED XDR Display 16-inch base configuration</p><p>  </p></th><th  ><p>Apple MacBook Pro with PROLED XDR Display 16-inch max configuration</p><p>  </p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Processor</p><p>  </p></td><td  ><p>Apple M5 Pro (18-core)</p><p>  </p></td><td  ><p>Apple M5 Max (18-core)</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Graphics</p><p>  </p></td><td  ><p>20-core GPU</p><p>  </p></td><td  ><p>32-core GPU</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Display</p><p>  </p></td><td  ><p>16.3‑inch (diagonal) tandem OLED PROLED XDR display (3472 x 2266), Touch, Wide color (P3 + Adobe RGB), True Tone, ProMotion up to 120Hz</p><p>  </p></td><td  ><p>16.3‑inch (diagonal) tandem OLED PROLED XDR display (3472 x 2266), Touch, Wide color (P3 + Adobe RGB), True Tone, ProMotion up to 120Hz</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Memory</p><p>  </p></td><td  ><p>24GB Unified Memory</p><p>  </p></td><td  ><p>36GB Unified Memory</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Storage</p><p>  </p></td><td  ><p>1TB SSD</p><p>  </p></td><td  ><p>2TB SSD</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Battery Life</p><p>  </p></td><td  ><p>Integrated 100‑watt‑hour lithium‑polymer battery, up to 17   hours web browsing, up to 24 hours video streaming</p><p>  </p></td><td  ><p>Integrated 100‑watt‑hour lithium‑polymer battery, up to 16 hours web   browsing, up to 22 hours video streaming</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Ports</p><p>  </p></td><td  ><p>3x USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio, MagSafe 3</p><p>  </p></td><td  ><p>3x USB-C Thunderbolt 5 ports, SDXC card slot, HDMI, 3.5mm audio, MagSafe 3</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Audio &amp; Camera</p><p>  </p></td><td  ><p>High-fidelity six‑speaker sound system with force-cancelling woofers, 12MP Center Stage camera with support for Desk View</p><p>  </p></td><td  ><p>High-fidelity six‑speaker sound system with force-cancelling woofers, 12MP Center Stage camera with support for Desk View</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Wireless</p><p>  </p></td><td  ><p>Wi-Fi 7; Bluetooth 6.0</p><p>  </p></td><td  ><p>Wi-Fi 7; Bluetooth 6.0</p><p>  </p></td></tr><tr><td class="firstcol " ><p>Dimensions &amp; Weight</p><p>  </p></td><td  ><p>0.63 x 14 x 9.62 inches (1.60 x 35.55 x 24.42cm), 4lbs (1.82kg)</p><p>  </p></td><td  ><p>0.63 x 14 x 9.62 inches (1.60 x 35.55 x 24.42cm), 4.1lbs (1.84kg)</p><p>  </p></td></tr></tbody></table></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-performance"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max): Performance</span></h2><ul><li><strong>No M6 version with PROLED XDR Display</strong></li><li><strong>Touchscreen is responsive, but not an essential addition</strong></li><li><strong>Very fast SSD</strong></li></ul><p>I’m going to be honest: I think Apple has got itself into a little bit of a pickle with its M-series naming convention and release cadence. For a company that was often lauded for offering an elegant simplicity here, compared to the complexity of some competitors, it’s made a bit of a confusing mess.</p><p>Want the very latest M-series architecture, the <a href="https://www.techradar.com/computing/macs/apples-new-mac-mini-looks-the-same-but-the-m6-inside-brings-a-major-performance-boost">M6</a>, which is the company’s first-ever 2nm compute chip? Well, if so, you can forget about the PROLED XDR Display, as Apple is only offering it in the 14-inch MacBook Pro with Mini-LED screen. If you want the M6 and don’t care about a touchscreen or OLED, but prefer the larger 16-inch screen size, then you’re out of luck.</p><p>If you want the most powerful chips in a MacBook, then you’re left with the previous-generation <a href="https://www.techradar.com/pro/stop-should-you-upgrade-your-m1-max-apple-mac-to-the-m5-gpu-and-memory-bandwidth-data-reveal-the-surprising-answer">M5 Pro and Max </a>chips. But, getting an M5 Max-powered MacBook Pro doesn’t guarantee it’s the most powerful chip, as the default M5 Max chip that comes with the MacBook Pro with PROLED XDR Display 16-inch features an 18-core CPU and 32-core GPU, but you can upgrade (for $300 / £300 extra) to a more powerful M5 Max with a 40-core GPU. To be honest, unless you’re working with extremely graphically-intensive projects, the standard M5 Max chip will be more than enough, and even the M5 Pro will handle pretty much anything you throw at it. </p><p>As I mentioned, if you want the M6 generation and the improvements it brings, namely with a smaller 2nm process, which should lead to better power efficiency, and a dual 16-core Neural Engine for improved on-device AI performance, then you’ll need to forego both the PROLED XDR Display and 16-inch screen size.</p><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793878332364-g9uny7ijt *, #fv-chart-1793878332364-g9uny7ijt *:before, #fv-chart-1793878332364-g9uny7ijt *:after, #fv-chart-1793878332364-g9uny7ijt-slideshow *, #fv-chart-1793878332364-g9uny7ijt-slideshow *:before, #fv-chart-1793878332364-g9uny7ijt-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793878332364-g9uny7ijt, #fv-chart-1793878332364-g9uny7ijt-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878332364-g9uny7ijt { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793878332364-g9uny7ijt.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878332364-g9uny7ijt .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn.disabled, #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793878332364-g9uny7ijt-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793878332364-g9uny7ijt .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793878332364-g9uny7ijt .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793878332364-g9uny7ijt .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793878332364-g9uny7ijt .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793878332364-g9uny7ijt .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793878332364-g9uny7ijt .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793878332364-g9uny7ijt.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793878332364-g9uny7ijt .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-pie-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-bar-product, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-grouped-product-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-cluster, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-label-space, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-x-axis-chart-space, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-benchmark-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dropdown-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-carousel-nav-btn, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-chart-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-chart-subhead, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-header, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-vs, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select-container, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-versus-select, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dials-grid, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-dial-title, #fv-chart-1793878332364-g9uny7ijt.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878332364-g9uny7ijt.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793878332364-g9uny7ijt .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row, #fv-chart-1793878332364-g9uny7ijt .fv-stacked-product, #fv-chart-1793878332364-g9uny7ijt .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-label, #fv-chart-1793878332364-g9uny7ijt .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-container, #fv-chart-1793878332364-g9uny7ijt .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878332364-g9uny7ijt .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878332364-g9uny7ijt .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-logo, #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878332364-g9uny7ijt .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878332364-g9uny7ijt .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878332364-g9uny7ijt.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Benchmarks",  "description": "How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T11:32:12.364Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "3DMark: Steel Nomad",    "Blackmagic Disk Speed Test: Write",    "Blackmagic Disk Speed Test: Read",    "Geekbench 6.7.2: Single-Core",    "Geekbench 6.7.2: Multi-Core",    "Geekbench 7.1.0: Single-Core",    "Geekbench 7.1.0: Multi-Core",    "Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score",    "Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score",    "Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score",    "PugetBench for Adobe CC (Photoshop)",    "PugetBench for Adobe CC (Premiere Pro)",    "3DMark: Steel Solar Bay",    "Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)",    "3DMark\u003cdiv>\u003cbr>\u003c/div>",    "Blackmagic Disk Speed",    "Geekbench",    "PugetBench",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – 3DMark: Steel Nomad",      "value": 4402,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – 3DMark: Steel Solar Bay",      "value": 78412,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Blackmagic Disk Speed Test: Write",      "value": 13335,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Blackmagic Disk Speed Test: Read",      "value": 12783,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 6.7.2: Single-Core",      "value": 4359,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 6.7.2: Multi-Core",      "value": 30327,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 7.1.0: Single-Core",      "value": 3766,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench 7.1.0: Multi-Core",      "value": 35679,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score",      "value": 6200,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score",      "value": 47515,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score",      "value": 64473,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – PugetBench for Adobe CC (Photoshop)",      "value": 18431,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – PugetBench for Adobe CC (Premiere Pro)",      "value": 155248,      "unitText": "Score"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)",      "value": 109,      "unitText": "fps"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T11:32:12.364Z","state":{"data":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Blackmagic Disk Speed Test: Write","value":13335,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Blackmagic Disk Speed Test: Read","value":12783,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 6.7.2: Single-Core","value":4359,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 6.7.2: Multi-Core","value":30327,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 7.1.0: Single-Core","value":3766,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench 7.1.0: Multi-Core","value":35679,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","value":6200,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","value":47515,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","value":64473,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"PugetBench for Adobe CC (Photoshop)","value":18431,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"PugetBench for Adobe CC (Premiere Pro)","value":155248,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"3DMark: Steel Nomad","value":4402,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"3DMark: Steel Solar Bay","value":78412,"unit":"Score","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)","value":109,"unit":"fps","testDate":"","color":"","site":"TechRadar"}],"products":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["3DMark: Steel Nomad","Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read","Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)","3DMark: Steel Solar Bay","Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["3DMark: Steel Nomad","Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read","Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score","PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)","3DMark: Steel Solar Bay","Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)"],"productColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#1A4E6B"}],"initialProductColors":[{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#1A4E6B"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["3DMark: Steel Nomad","3DMark: Steel Solar Bay"]},{"name":"Group 2","attributes":["Blackmagic Disk Speed Test: Write","Blackmagic Disk Speed Test: Read"]},{"name":"Group 3","attributes":["Geekbench 6.7.2: Single-Core","Geekbench 6.7.2: Multi-Core","Geekbench 7.1.0: Single-Core","Geekbench 7.1.0: Multi-Core","Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score","Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score"]},{"name":"Group 4","attributes":["PugetBench for Adobe CC (Photoshop)","PugetBench for Adobe CC (Premiere Pro)"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"Carousel","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Benchmarks","subhead":"How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"grouped-bar-Group 1":"3DMark<div><br><\/div>","grouped-bar-Group 2":"Blackmagic Disk Speed","grouped-bar-Group 3":"Geekbench","grouped-bar-Group 4":"PugetBench"},"xAxisLabelOverrides":{},"subheadOverrides":{"bar-Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)":"How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests"},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793878332364-g9uny7ijt" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Benchmarks</h3><p class="fv-chart-subhead">How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests</p><div class="fv-carousel-title-controls"><button class="fv-carousel-nav-btn prev">< Prev</button><h4 class="fv-benchmark-title" style="margin: 0 !important;">3DMark<div><br /></div></h4><button class="fv-carousel-nav-btn next">Next ></button></div><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 1" data-chart-type="Bar" data-title="3DMark<div><br /></div>" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">3DMark: Steel Nomad</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 5.5024999999999995%; background-color: #1A4E6B;" data-target-width="5.5024999999999995" data-target-margin="0"></div><span class="fv-bar-value-outside">4402</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">3DMark: Steel Solar Bay</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 98.015%; background-color: #1A4E6B;" data-target-width="98.015" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">78412</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20,000</span><span>40,000</span><span>60,000</span><span>80,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>3DMark<div><br /></div> Data</caption><thead><tr><th>Product</th><th>3DMark: Steel Nomad (Score)</th><th>3DMark: Steel Solar Bay (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>4402</td><td>78412</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 2" data-chart-type="Bar" data-title="Blackmagic Disk Speed" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Blackmagic Disk Speed Test: Write</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 88.9%; background-color: #1A4E6B;" data-target-width="88.9" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">13335</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Blackmagic Disk Speed Test: Read</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 85.22%; background-color: #1A4E6B;" data-target-width="85.22" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">12783</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>3,750</span><span>7,500</span><span>11,250</span><span>15,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>Blackmagic Disk Speed Data</caption><thead><tr><th>Product</th><th>Blackmagic Disk Speed Test: Write (Score)</th><th>Blackmagic Disk Speed Test: Read (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>13335</td><td>12783</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 3" data-chart-type="Bar" data-title="Geekbench" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 6.7.2: Single-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 5.44875%; background-color: #1A4E6B;" data-target-width="5.44875" data-target-margin="0"></div><span class="fv-bar-value-outside">4359</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 6.7.2: Multi-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 37.908750000000005%; background-color: #1A4E6B;" data-target-width="37.908750000000005" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">30327</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 7.1.0: Single-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 4.7075%; background-color: #1A4E6B;" data-target-width="4.7075" data-target-margin="0"></div><span class="fv-bar-value-outside">3766</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench 7.1.0: Multi-Core</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 44.598749999999995%; background-color: #1A4E6B;" data-target-width="44.598749999999995" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">35679</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 7.75%; background-color: #1A4E6B;" data-target-width="7.75" data-target-margin="0"></div><span class="fv-bar-value-outside">6200</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 59.39375%; background-color: #1A4E6B;" data-target-width="59.39375" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">47515</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80.59125%; background-color: #1A4E6B;" data-target-width="80.59125" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">64473</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>20,000</span><span>40,000</span><span>60,000</span><span>80,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>Geekbench Data</caption><thead><tr><th>Product</th><th>Geekbench 6.7.2: Single-Core (Score)</th><th>Geekbench 6.7.2: Multi-Core (Score)</th><th>Geekbench 7.1.0: Single-Core (Score)</th><th>Geekbench 7.1.0: Multi-Core (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Single Precision Score (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Half Precision Score (Score)</th><th>Geekbench AI 1.8 (Core ML/Neural Engine): Quantized Score (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>4359</td><td>30327</td><td>3766</td><td>35679</td><td>6200</td><td>47515</td><td>64473</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-grouped-bar-Group 4" data-chart-type="Bar" data-title="PugetBench" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" data-grouped-show-product-name="false" style="display: none;"><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">PugetBench for Adobe CC (Photoshop)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 9.2155%; background-color: #1A4E6B;" data-target-width="9.2155" data-target-margin="0"></div><span class="fv-bar-value-outside">18431</span></div></div><div class="fv-bar-row"><div class="fv-bar-label">PugetBench for Adobe CC (Premiere Pro)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 77.62400000000001%; background-color: #1A4E6B;" data-target-width="77.62400000000001" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">155248</span></div></div></div></div></div></div><div class="fv-x-axis-wrapper fv-grouped-x-axis"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>50,000</span><span>100,000</span><span>150,000</span><span>200,000</span></div><div class="fv-x-axis-unit">Score</div></div></div><table class="sr-only"><caption>PugetBench Data</caption><thead><tr><th>Product</th><th>PugetBench for Adobe CC (Photoshop) (Score)</th><th>PugetBench for Adobe CC (Premiere Pro) (Score)</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>18431</td><td>155248</td></tr></tbody></table></div></div><div class="fv-chart-item" id="fv-chart-1793878332364-g9uny7ijt-bar-Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)" data-chart-type="Bar" data-title="Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200)" data-subhead="How the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) performed in our suite of benchmark tests" data-caption="" style="display: none;"><div class="fv-benchmark-group"><div class="fv-bar-row"><div class="fv-bar-label fv-primary-product">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 72.66666666666667%; background-color: #1A4E6B;" data-target-width="72.66666666666667" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">109</span></div></div></div></div><div class="fv-x-axis-wrapper"><div class="fv-x-axis-label-space"></div><div class="fv-x-axis-chart-space"><div class="fv-x-axis-line"></div><div class="fv-x-axis-ticks"><span>0</span><span>37.5</span><span>75</span><span>112.5</span><span>150</span></div><div class="fv-x-axis-unit">fps</div></div></div><table class="sr-only"><caption>Cyberpunk 2077 (Ray Tracing Ultra, 1920 x 1200) Data</caption><thead><tr><th>Product</th><th>Value</th></tr></thead><tbody><tr><td>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</td><td>109</td></tr></tbody></table></div></div></div><div class="fv-carousel-counter">1 of 5</div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793878332364-g9uny7ijt', false); });      } else {        initialize('fv-chart-1793878332364-g9uny7ijt', false);      }    })();      </script></div><p>The MacBook Pro with PROLED XDR Display model Apple sent to me for review comes with the M5 Max chip with 18-core CPU and 40-core GPU, 128GB of unified memory, and 2TB of storage. That’s a hefty list of specs, and would set you back a similarly hefty $7,399 / £7,399 / AU$11,699.</p><p>I’ve previously tested the M5 and M5 Pro in the 14-inch MacBook Pros launched earlier this year and late last year, and as expected, the M5 Max in my 16-inch Apple MacBook Pro with PROLED XDR Display is incredibly powerful, with macOS and its built-in apps all launching quickly and feeling fast and snappy.</p><p>When it comes to the touchscreen, macOS again feels fast and responsive, and using a finger to quickly browse up and down a website, selecting options in a dialog box or menu, and moving windows around the screen all feels natural, especially if you’ve ever used an iPhone or an iPad.</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.29%;"><img id="xGeVJY3RGUPd4dqxpUv8KK" name="20261105_120122" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/xGeVJY3RGUPd4dqxpUv8KK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">A comparison of the Mini-LED screen of previous MacBooks on the left, with the PROLED XDR Display on the right. Both at 100% brightness </span><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>Unlike people who have only used Macs and MacBooks from the once touchscreen-phobic Apple, I’ve had extensive experience using Windows laptops and Chromebooks with touchscreens, so using one on the MacBook Pro isn’t as big of a culture shock as it might be to some. While it worked well, and there are some nice touches (forgive the pun), such as pressing down your finger on certain tools in Final Cut Pro to open up a radial menu for more precise touch control, I have to say that <a href="https://www.techradar.com/reviews/windows-11">Windows 11</a>, Chrome OS, and Google’s new Googlebook OS are better suited to touch controls. </p><p>This might come as little surprise, as this is Apple’s first MacBook to have a touchscreen, while Windows laptops and Chromebooks have had them for decades, and in the case of Chrome OS and Googlebook OS, Google has used its experience working on Android to develop the operating system. And, for as much grief as a lot of us (myself included) gave Windows 8 when it launched back in 2012, it inspired Microsoft to make a touchscreen-friendly interface, elements of which are still found in Windows 11, primarily with larger, easier to tap, buttons and menus.</p><p>Currently, macOS Tahoe still looks and feels like an operating system that’s best used with a traditional mouse and keyboard, because that’s what it is. But that also means some elements of the user interface, such as menus, feel a bit fiddly to control via touch.</p><p>Hopefully this will change if more MacBooks come out with touchscreens. But, because Apple has decided to put its first laptop touchscreen on its most powerful (and expensive) MacBooks, there’s a danger that the company will end up thinking that because the numbers of touchscreen MacBook users is so small, it’s not worth making big changes to the interface.</p><p>Another issue I have with Apple’s decision to put a touchscreen on its highest-end MacBook Pros, rather than a more mainstream MacBook Air or Neo — <a href="https://www.techradar.com/computing/macbooks/oops-apple-just-put-its-first-laptop-touchscreen-on-the-wrong-macbook">something I’ve written about</a> — is that touchscreen gestures and controls often aren’t the best way to control a laptop when you're performing complex tasks where precision is key. Sure, you can pull up a virtual piano in Garage Band and tap on the keys on screen, but while this is handy for quick ideas, you don’t want to play or write an entire song using it. </p><p>Most professionals will have peripherals, such as physical MIDI keyboards, for precise control. It’s the same with photographers and digital artists — using your fingers to pinch and zoom an image feels fast and natural, as does scribbling some notes or doodles, but for long-term use, many professionals will use a drawing tablet. If the MacBook’s PROLED XDR Display was compatible with the Apple Pencil stylus, that would make it a more useful tool for professionals, but it's not, which is a rather odd omission.</p><p>One touchscreen-friendly change Apple has made to macOS, and which I’m a big fan of, is adding an iPhone-like Dynamic Island where the notch around the webcam used to be. Tapping this gives you quick context-relevant tools, such as media controls when watching a video. Spotlight search and Siri AI are now located here as well. This is a great addition that adds value to the MacBook Pro’s touchscreen, and I’d like to see it expanded, and more touch-friendly UI elements to make the touchscreen a must-have, rather than nice-to-have-but-far-from-essential, which is what it feels like at the moment.</p><p>The tandem OLED tech powering the PROLED XDR Display is a much bigger deal, and likely the reason why most people will consider the Apple MacBook Pro with PROLED XDR Display over the standard model. The previous Mini-LED screen was already one of the best displays you’d find on a laptop, and thanks to tandem OLED, this new screen is even better. Straight out of the box without needing any calibration, the colors are bright and vibrant — so much so that I was surprised to see that the screen was only at 50% brightness. </p><p>Placing my 14-inch MacBook Pro with the M5 chip and Mini-LED screen next to the 16-inch MacBook Pro with <a href="">PROLED XDR</a> Display 16-inch really highlighted just how much better the PROLED XDR screen is. The Mini-LED looked dimmer, despite it being at 100% brightness, even with the PROLED XDR screen remaining at 50%. Now, as I said, the Mini-LED display of the (slightly) older MacBook Pro is no slouch, so to see such a stark difference in image quality is a big deal, especially for people who want a laptop for working with photos, videos and digital art. The new support for Adobe RGB color gamut is another big plus here, though as usual for Mac devices you’ll want to turn off the True Tone feature — it tweaks the colors of the screen depending on the ambient light you’re working in, which can make what’s on the screen look better to you in that moment, but could lead to color inaccuracies in a production workflow.</p><p>I won’t delve too deep into the performance of the M5 Max, as it’s been in other Apple devices for a while now, but this is the first time I’ve used a MacBook running it (I have tested both the previous M5 and M5 Pro MacBook Pro models).</p><p>According to Apple’s benchmarks, the M5 Max is around nine times faster than the M4 Max when it comes to ‘first token performance’, while AI image generation is apparently around six times faster. If those are the kind of stats that excite you, then enjoy! </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.29%;"><img id="fxpZYKDQHGLz3XkFqaj3LK" name="20261105_115759" alt="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) on wooden desk in office" src="https://cdn.mos.cms.futurecdn.net/fxpZYKDQHGLz3XkFqaj3LK-1920-80.jpg" mos="" align="middle" fullscreen="" width="2560" height="1441" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><p>In our benchmark tests, compared to the M5 MacBook Pro with a 10-core CPU and 10-core GPU, the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) with an 18-core CPU and 40-core GPU unsurprisingly outperformed the older MacBook Pro when it came to graphic-intensive tests. In the 3D Mark Wild Life Extreme graphics test, for example, the M5 MacBook Pro scored 73.6fps compared to the M5 Max’s 214.1fps.</p><p>With gaming, the M5 MacBook Pro hit 11fps at 1920 x 1200 with Ray Tracing set to Ultra, while the M5 Max model managed a much more playable 38.75fps. This is a good example of the graphical performance gap, but if you want a laptop to game on you’re still better off buying a dedicated gaming laptop, which is a bit of a shame, as the PROLED XDR Display makes games look fantastic.</p><p>The SSD inside the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) offers up to 14.5GB/s speeds, with Apple claiming it’s twice as fast as the SSD in the previous generation, and in our tests it scored a very good 13,334.7MB/s and 12,782.7MB/s write and read speeds, respectively. A fast SSD like this is important if you’re working on large files and complex projects.</p><p>The SSD in the Surface Laptop Ultra with RTX Spark N1X chip scored a rather paltry 1,921MB/s write speeds in comparison. Check out our benchmark result charts for more comparisons.</p><div class="product"><a data-dimension112="e09b6892-d902-11f1-b866-d145e4a8832b" data-action="Deal Block" data-label="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension48="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iPsSRLxVnLSd9PewPGhBkR" name="performance5" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iPsSRLxVnLSd9PewPGhBkR-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b6892-d902-11f1-b866-d145e4a8832b" data-action="Deal Block" data-label="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension48="The rest of the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) works as well as expected. The spatial speakers are loud and clear, and the Center Stage webcam offers excellent clarity, alongside some nice software-powered features that improve the image quality further. A nice additional feature added is that macOS will virtually stabilize the webcam’s footage if you’re using the touchscreen at the same time, to stop it wobbling while you’re on calls. It’s a handy feature, and shows the attention to detail we’ve come to expect from Apple." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max-review-battery-life"><span>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) review: Battery Life</span></h2><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793878767824-wkr7x1tf3 *, #fv-chart-1793878767824-wkr7x1tf3 *:before, #fv-chart-1793878767824-wkr7x1tf3 *:after, #fv-chart-1793878767824-wkr7x1tf3-slideshow *, #fv-chart-1793878767824-wkr7x1tf3-slideshow *:before, #fv-chart-1793878767824-wkr7x1tf3-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793878767824-wkr7x1tf3, #fv-chart-1793878767824-wkr7x1tf3-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878767824-wkr7x1tf3 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn.disabled, #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793878767824-wkr7x1tf3-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793878767824-wkr7x1tf3 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793878767824-wkr7x1tf3.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793878767824-wkr7x1tf3 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-pie-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-bar-product, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-grouped-product-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-cluster, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-label-space, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-x-axis-chart-space, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-benchmark-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dropdown-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-carousel-nav-btn, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-chart-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-chart-subhead, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-header, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-vs, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select-container, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-versus-select, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dials-grid, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-dial-title, #fv-chart-1793878767824-wkr7x1tf3.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878767824-wkr7x1tf3.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793878767824-wkr7x1tf3 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row, #fv-chart-1793878767824-wkr7x1tf3 .fv-stacked-product, #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-label, #fv-chart-1793878767824-wkr7x1tf3 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-container, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-logo, #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793878767824-wkr7x1tf3 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793878767824-wkr7x1tf3.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Battery life results",  "description": "How long does the battery last?",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T11:39:27.824Z",  "citation": "Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.",  "keywords": [    "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)",    "Apple MacBook Pro 16-inch (2024, M4 Pro)",    "Asus ProArt P16 RTX Spark",    "Battery life video test",    "Versus Comparison",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Asus ProArt P16 RTX Spark – Battery life video test",      "value": 11.383333333333333,      "unitText": "hours, mins"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 16-inch (2024, M4 Pro) – Battery life video test",      "value": 21.5,      "unitText": "hours, mins"    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) – Battery life video test",      "value": 24.35,      "unitText": "hours, mins"    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T11:39:27.824Z","state":{"data":[{"productName":"Asus ProArt P16 RTX Spark","attribute":"Battery life video test","value":11.383333333333333,"unit":"hours, mins","displayValue":"11:23:00","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","attribute":"Battery life video test","value":21.5,"unit":"hours, mins","displayValue":"21:30:00","testDate":"","color":"","site":"TechRadar"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","attribute":"Battery life video test","value":24.35,"unit":"hours, mins","displayValue":"24:21:00","testDate":"","color":"","site":"TechRadar"}],"products":["Asus ProArt P16 RTX Spark","Apple MacBook Pro 16-inch (2024, M4 Pro)","Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)"],"attributes":["Battery life video test"],"selectedProducts":["Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","Apple MacBook Pro 16-inch (2024, M4 Pro)","Asus ProArt P16 RTX Spark"],"selectedPrimaryProduct":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","selectedAttributes":["Battery life video test"],"productColors":[{"productName":"Asus ProArt P16 RTX Spark","color":"#1A4E6B"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","color":"#B81C70"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#8CC3E0"}],"initialProductColors":[{"productName":"Asus ProArt P16 RTX Spark","color":"#1A4E6B"},{"productName":"Apple MacBook Pro 16-inch (2024, M4 Pro)","color":"#B81C70"},{"productName":"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)","color":"#8CC3E0"}],"attributeColors":[],"attributeGroups":[],"chartType":"Versus","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Battery life results","subhead":"How long does the battery last?","caption":"Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{"bar-Battery life video test":"How long does the battery last?"},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":true,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793878767824-wkr7x1tf3" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Battery life results</h3><p class="fv-chart-subhead">How long does the battery last?</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793878767824-wkr7x1tf3-versus-chart" data-chart-type="Versus" data-title="Versus Comparison" data-subhead="How long does the battery last?" data-caption="Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off." style=""><div class="fv-benchmark-group"><table class="sr-only"><caption>Versus Comparison Data</caption><thead><tr><th>Attribute</th><th>Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</th><th>Apple MacBook Pro 16-inch (2024, M4 Pro)</th><th>Asus ProArt P16 RTX Spark</th></tr></thead><tbody><tr><td>Battery life video test</td><td>24.35</td><td>21.5</td><td>11.383333333333333</td></tr></tbody></table><div class="fv-versus-chart" id="fv-chart-1793878767824-wkr7x1tf3-versus" data-versus-data="[{"attribute":"Battery life video test","originalAttribute":"Battery life video test","productData":{"Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)":{"value":24.35,"unit":"hours, mins","displayValue":"24:21:00"},"Apple MacBook Pro 16-inch (2024, M4 Pro)":{"value":21.5,"unit":"hours, mins","displayValue":"21:30:00"},"Asus ProArt P16 RTX Spark":{"value":11.383333333333333,"unit":"hours, mins","displayValue":"11:23:00"}}}]" data-left-color="#2E6E93" data-right-color="#E8238C"><div class="fv-versus-header"><div class="fv-versus-select-wrapper fv-left"><div class="fv-versus-select-container"><select class="fv-versus-select fv-select-left" style="color: #2E6E93; border-color: #2E6E93;"><option value="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" selected="">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</option><option value="Apple MacBook Pro 16-inch (2024, M4 Pro)">Apple MacBook Pro 16-inch (2024, M4 Pro)</option><option value="Asus ProArt P16 RTX Spark">Asus ProArt P16 RTX Spark</option></select><svg class="fv-versus-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: #2E6E93;"><polyline points="6 9 12 15 18 9"></polyline></svg></div></div><div class="fv-versus-vs">VS</div><div class="fv-versus-select-wrapper fv-right"><div class="fv-versus-select-container"><select class="fv-versus-select fv-select-right" style="color: #E8238C; border-color: #E8238C;"><option value="Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)">Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</option><option value="Apple MacBook Pro 16-inch (2024, M4 Pro)" selected="">Apple MacBook Pro 16-inch (2024, M4 Pro)</option><option value="Asus ProArt P16 RTX Spark">Asus ProArt P16 RTX Spark</option></select><svg class="fv-versus-chevron" viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2" stroke-linecap="round" stroke-linejoin="round" style="color: #E8238C;"><polyline points="6 9 12 15 18 9"></polyline></svg></div></div></div><div class="fv-versus-body"><div class="fv-versus-row" data-index="0"><div class="fv-versus-label"><span>Battery life video test (hours, mins)</span></div><div class="fv-versus-bar-container"><div class="fv-versus-bar-left-wrapper" style="position: relative;"><div class="fv-versus-bar fv-versus-bar-left" style="--target-width: 95%; background-color: #2E6E93;" data-target-width="95"><span class="fv-versus-pct-diff" style="color: rgba(255, 255, 255, 0.9);">+13%</span><span class="fv-versus-val-text fv-inside-left" style="margin-left: auto;">24:21:00</span></div></div><div class="fv-versus-bar-right-wrapper" style="position: relative;"><div class="fv-versus-bar fv-versus-bar-right" style="--target-width: 75.05133470225873%; background-color: #E8238C;" data-target-width="75.05133470225873"><span class="fv-versus-val-text fv-inside-right" style="margin-right: auto;">21:30:00</span></div></div><div class="fv-versus-center-line" style="background-color: #ffffff;"></div></div></div></div></div></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: block;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;">Our battery life benchmark involves playing a looped 1080p video at 50% brightness until the laptop turns off.</span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793878767824-wkr7x1tf3', false); });      } else {        initialize('fv-chart-1793878767824-wkr7x1tf3', false);      }    })();      </script></div><p>Apple has claimed the new 16-inch MacBook Pro with PROLED XDR Display lasts up to 24 hours on battery when streaming videos, and up to 17 hours when browsing the web, and I found those claims to be pretty much spot on, with the device lasting an incredible 24 hours and 21 minutes in our battery test, which involves playing a looped 1080p video at 50% brightness.</p><p>It blows past the <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-16-inch-m4-pro-2024">MacBook Pro 16-inch (M4 Pro, 2024)</a>, which managed 21 hours and 32 minutes in the same test, and over <em>double</em> the 11 hours and 23 minutes the Asus ProArt P16 RTX Spark hit. The MacBook Pro is able to sustain its performance when on battery life, rather than throttling it to conserve energy, so you’ll be able to go multiple work days on a single charge while still being productive, though of course the battery will drain more quickly if you’re using it for more intensive tasks.</p><div class="product"><a data-dimension112="e09b6a40-d902-11f1-8f43-8f95ccadb634" data-action="Deal Block" data-label="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension48="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="xcpS9DtTDvV2vrAVisBtAo" name="battery life 5_" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/xcpS9DtTDvV2vrAVisBtAo-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="e09b6a40-d902-11f1-8f43-8f95ccadb634" data-action="Deal Block" data-label="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension48="The battery life is seriously impressive for a large workstation laptop with such powerful components and a bright and vibrant display, and laptop makers (as well as Nvidia itself) producing RTX Spark rivals will need to seriously up their game, given that they're only managing around half of what the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) can achieve." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>Should I buy the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the MacBook Pro with PROLED XDR Display if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You want a powerful yet portable workstation laptop for creative work</strong><br />The MacBook Pro with PROLED XDR Display performs brilliantly when tasked with almost any creative project, but the M5 Max chip really comes into its own when handling complex graphical workloads. Battery life is also phenomenal, allowing you to work on this laptop pretty much anywhere.<br /><strong>✅ Your work requires accurate image quality</strong><br />The tandem OLED tech behind the PROLED XDR Display really is impressive, and thanks to support for the P3 and Adobe RGB color gamuts you get very accurate images without the need for deep calibration — making this MacBook a great choice for photographers and videographers.<br /><strong>✅ You develop apps for iPhones and iPads</strong><br />One of the best use cases I’ve seen for the touchscreen aspect of the PROLED XDR Display is for app developers who can run emulated versions of their apps on the MacBook, and use the screen to see how touchscreen elements will work.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the MacBook Pro with PROLED XDR Display  if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You don’t care about the touchscreen</strong><br />If you still agree with Steve Jobs’ touchscreen-on-MacBook skepticism, you can save a lot of money by going for one of Apple's many other MacBooks. You will miss out on the gorgeous tandem OLED display, however. <br /><strong>❌ You </strong><em><strong>only</strong></em><strong> care about the touchscreen</strong><br />Conversely, if you want a laptop primarily for a touchscreen, I’d recommend a 2-in-1 Windows 11 laptop or Chromebook, which are currently much better suited to touchscreen controls. Paying so much extra just for a touchscreen on the MacBook Pro with PROLED XDR Display is a waste.<br /><strong>❌ You don’t need the power or image quality</strong><br />The MacBook Pro with PROLED XDR Display 16-inch is a very expensive laptop in all its configurations, and even the base model will be overkill for most users.</p></div></div></div></div><h2 class="article-body__section" id="section-also-consider"><span>Also consider</span></h2>        <div class="featured_product_block featured_block_versus" data-id="e09b6c2a-d902-11f1-8e80-5f83a0871a5b">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check="" style='padding-top:100.06%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/d9mjqAq8RqF9d53t6FZxbB.png" alt="Samsung Galaxy Book6 Pro front-on view showing screen" /></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Samsung</div>                    <div class="featured__title">Galaxy Book6 Pro (14-inch)</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star half"></span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="90" /></span></div>                                        <p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Exquisite design</li><li class='list-item list-item-pros'>Glorious large display</li><li class='list-item list-item-pros'>Respectable graphical performance</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Not the lightest</li><li class='list-item list-item-cons'>Lacks ports</li><li class='list-item list-item-cons'>Heavy keys</li></ul></div></div>            </div>        </div>        <div class="featured_product_block featured_block_versus" data-id="e09b6c8e-d902-11f1-abdd-81fe505a2152">            <div class='product-image-widthsetter'><p class='vanilla-image-block' data-bordeaux-image-check="" style='padding-top:100.00%';><img style="width: 100%" class="featured_image" src="https://cdn.mos.cms.futurecdn.net/v2/t:18,l:12,cw:1493,ch:1493,q:80/Q9ZXWhMmd2bnSYFHr5VRu5.jpg" alt="HP Chromebook Plus 15.6-inch with screen open" /></p></div>            <div class="featured_product_details_wrapper">                <div class="featured_product_title_wrapper">                                                            <div class='featured__brand'>Asus</div>                    <div class="featured__title">ProArt P16 RTX Spark</div>                                    </div>                <div class="subtitle__description">                                <div class="stars__reviews"><span itemprop="reviewRating" itemscope="" itemtype="http://schema.org/Rating" class="chunk rating"><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><span class="icon icon-star"> </span><meta itemprop="bestRating" content="100.0" /><meta itemprop="worstRating" content="0.0" /><meta itemprop="ratingValue" content="80" /></span></div>                                        <p></p>                </div>                <div class="pro-con"><div class="list-pros-wrapper"><h4 class="list-pros-label">Pros</h4><ul class="list-pros"><li class='list-item list-item-pros'>Stunning 3K OLED screen</li><li class='list-item list-item-pros'>Stylish, lightweight design</li><li class='list-item list-item-pros'>Strong creative, AI and gaming performance</li></ul></div><div class="list-cons-wrapper"><h4 class="list-cons-label">Cons</h4><ul class="list-cons"><li class='list-item list-item-cons'>Very expensive</li><li class='list-item list-item-cons'>Bested by dedicated gaming or creative laptops</li><li class='list-item list-item-cons'>Some wobble to the screen</li></ul></div></div>            </div>        </div><h2 class="article-body__section" id="section-how-i-tested-the-apple-macbook-pro-with-proled-xdr-display-16-inch-2026-m5-max"><span>How I tested the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Z7wMuuRm9297Um8u5dKh3H" name="matt" alt="Matt Hanson using the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max)" src="https://cdn.mos.cms.futurecdn.net/Z7wMuuRm9297Um8u5dKh3H-1920-80.png" mos="" align="middle" fullscreen="" width="2560" height="1440" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Future)</span></figcaption></figure><ul><li><strong>I used as my main work laptop for five days</strong></li><li><strong>I used a variety of apps during my testing</strong></li><li><strong>I have extensive experience reviewing MacBooks, laptops and Chromebooks</strong></li></ul><p>As soon as Apple sent me the Apple MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max) I started using it as my daily laptop, and even wrote some of this review on it. I tested numerous apps including Photoshop, and played <em>Cyberpunk 2077</em> on it to see how it performs, and to see how good the PROLED XDR Display looks. I also viewed and edited some very high-quality photos by photographer Paul Reiffer, and supplied by Apple.</p><p>Throughout my time with the MacBook Pro with PROLED XDR Display 16-inch (2026, M5 Max), I used both the standard keyboard and touchpad, and the touchscreen.</p><p>I’ve been reviewing laptops, including MacBooks and touchscreen laptops, for nearly 20 years, and have used that experience to inform this review. </p><ul><li><em>First reviewed: November 2026</em></li><li>Read more about <a href="https://www.techradar.com/news/how-we-test"><u>how we test</u></a></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple's 14-inch M6 MacBook Pro is a speed boost, not a reinvention – and I'm fine with that ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-at-a-glance-apple-14-inch-macbook-pro-m6-review"><span>At a glance: Apple 14-inch MacBook Pro (M6) Review</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's latest update to the 14-inch MacBook Pro doesn't change much, but it keeps the line ticking over with the new M6 chip for improved overall performance and better connectivity, all in the same familiar build.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>The 14-inch MacBook Pro with M6 starts at $1,999 / £1,999 / AU$3,199, with 16GB of RAM and 1TB of storage. You can configure it with up to 32GB of RAM and 4TB of storage, add a Nano-Texture display, or step up to the more powerful M5 Pro or M5 Max chips.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>If you need more power or a bigger screen, there's the 16-inch MacBook Pro with M6, or the 14-inch and 16-inch models with M5 Pro or M5 Max. The 13-inch and 15-inch M5 MacBook Air are better picks if you want a more portable build and can live with slightly less performance. If you want an OLED touchscreen and a thinner, lighter design, you'll need to look at the more expensive PROLED 14-inch or 16-inch models with the M5 Pro or M5 Max.</p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793883030756-48nqkdi61 *, #fv-chart-1793883030756-48nqkdi61 *:before, #fv-chart-1793883030756-48nqkdi61 *:after, #fv-chart-1793883030756-48nqkdi61-slideshow *, #fv-chart-1793883030756-48nqkdi61-slideshow *:before, #fv-chart-1793883030756-48nqkdi61-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793883030756-48nqkdi61, #fv-chart-1793883030756-48nqkdi61-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883030756-48nqkdi61 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793883030756-48nqkdi61.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793883030756-48nqkdi61.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883030756-48nqkdi61-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn.disabled, #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793883030756-48nqkdi61 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793883030756-48nqkdi61 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793883030756-48nqkdi61 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793883030756-48nqkdi61 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793883030756-48nqkdi61 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row, #fv-chart-1793883030756-48nqkdi61 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793883030756-48nqkdi61 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-pie-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-bar-product, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-label, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-product-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-label, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-container, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-cluster, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-label-space, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-chart-space, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-benchmark-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dropdown-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-carousel-nav-btn, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-chart-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-chart-subhead, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-header, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-vs, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dials-grid, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dial-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793883030756-48nqkdi61 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row, #fv-chart-1793883030756-48nqkdi61 .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label, #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-container, #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883030756-48nqkdi61.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple MacBook Pro 14-inch (2026, M6) scorecard",  "description": "How the Apple MacBook Pro 14-inch (2026, M6) scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T12:50:30.756Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro 14-inch (2026, M6)",    "Value",    "Design",    "Performance",    "Battery life",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Value",      "value": 4,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Design",      "value": 4,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Performance",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Battery life",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Overall",      "value": 4,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T12:50:30.756Z","state":{"data":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Value","value":4,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Design","value":4,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Performance","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Battery life","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Overall","value":4,"unit":"","maxValue":5}],"products":["Apple MacBook Pro 14-inch (2026, M6)"],"attributes":["Value","Design","Performance","Battery life","Overall"],"selectedProducts":["Apple MacBook Pro 14-inch (2026, M6)"],"selectedPrimaryProduct":"Apple MacBook Pro 14-inch (2026, M6)","selectedAttributes":["Value","Design","Performance","Battery life","Overall"],"productColors":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","color":"#E8238C"}],"initialProductColors":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","color":"#E8238C"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Battery life","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple MacBook Pro 14-inch (2026, M6) scorecard","subhead":"How the Apple MacBook Pro 14-inch (2026, M6) scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793883030756-48nqkdi61" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple MacBook Pro 14-inch (2026, M6) scorecard</h3><p class="fv-chart-subhead">How the Apple MacBook Pro 14-inch (2026, M6) scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793883030756-48nqkdi61-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple MacBook Pro 14-inch (2026, M6) scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Battery life</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Battery life ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple MacBook Pro 14-inch (2026, M6)</td><td>4</td><td>4</td><td>4.5</td><td>4.5</td><td>4</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793883030756-48nqkdi61', false); });      } else {        initialize('fv-chart-1793883030756-48nqkdi61', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-value-for-money"><span>Apple 14-inch MacBook Pro (M6) Review: Value for money</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sMzuMKLXbWaawBHSTXkWrc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/sMzuMKLXbWaawBHSTXkWrc-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: Jacob Krol/Future)</span></figcaption></figure><p>No, this isn't the headline-grabbing<a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural"> new MacBook Pro with an OLED touchscreen</a> and a thinner, lighter build. Alongside introducing those new models, Apple is sticking with a trend I'm a big fan of: yearly updates that ensure the entry-level MacBook Pro remains a solid proposition, with Apple's latest silicon and other top-end specs under the hood.</p><p>Apple hasn't changed much with the 2026 14-inch MacBook Pro, but it didn't need to. As the entry-level Pro, and a step up from the MacBook Air in terms of specs, it offers more ports in a familiar design that's slightly bulkier than the Air, but still plenty portable. You also get a very capable 14-inch Liquid Retina XDR mini-LED display with a notch at the top, a clicky-clacky keyboard with nice travel, a larger trackpad, and great sound with Spatial Audio and Dolby Atmos support.</p><p>The big change is the M6 chip under the hood, with this model joining the still-available M5 Pro and M5 Max models. Those chips, while older, are more powerful, but don't let the M6 Pro's entry-level positioning fool you: Apple's latest silicon is no slouch, delivering excellent everyday performance with plenty of power for more intensive tasks, including photo and video editing, coding, and AI work.</p><p>I've been using the 14-inch MacBook Pro with M6 for the best part of a week, and it's been smooth sailing. It's handled my daily mix of productivity and creative work in apps like Slack, Safari, Google Chrome, Notes, Pages, Pixelmator Pro, and Final Cut Pro, running alongside Messages and FaceTime, effortlessly, without me needing to quit or close anything. The configuration I'm testing pairs the M6's 12-core CPU — split between two super cores, four performance cores, and six efficiency cores — with a 12-core GPU and Dual 16-core Neural Engine, and the base 16GB of RAM and 1TB of storage.</p><div class="product"><a data-dimension112="c8d43462-d936-11f1-941f-031c3e0b70c6" data-action="Deal Block" data-label="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension48="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iN7P7td2TRSju3aJpPQXGA" name="value4" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iN7P7td2TRSju3aJpPQXGA-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d43462-d936-11f1-941f-031c3e0b70c6" data-action="Deal Block" data-label="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension48="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-design"><span>Apple 14-inch MacBook Pro (M6) Review: Design</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y8zi2fWbTD2o8dt9fmwLsc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/Y8zi2fWbTD2o8dt9fmwLsc-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Same design as M5 Pro, with plenty of ports</strong></li><li><strong>Excellent 14.2-inch Liquid Retina XDR display with ProMotion</strong></li><li><strong>Comfortable keyboard, oversized trackpad, and 12MP Center Stage camera</strong></li></ul><p>The M6 14-inch MacBook Pro sticks with the well-loved and well-tested design of recent Pro models. It's a little bulkier than the Air on account of its plentiful connectivity options, which include three Thunderbolt 4/USB-C ports, an HDMI port, an SD card slot, a headphone jack, and a MagSafe 3 port.</p><p>It's the same sleek design as the M5, M4, and even M3 versions that came before it. It's a design I know well, and one I use daily myself, and I appreciate that it doesn't feel too light or flimsy, but also not too heavy at just 3.4 pounds. </p><p>It keeps the same overall dimensions as last year's 14-inch Pro at 12.31 x 8.71 x 0.61 inches. You also get the same two color choices, Space Black or Silver; my review model is Silver, and it contrasts quite nicely with the darker, mirrored Apple logo on the rear — unlike the logo on the newly <a href="https://www.techradar.com/computing/macbooks/heres-the-secret-behind-the-return-of-the-illuminated-apple-logo-on-the-back-of-the-new-touchscreen-macbook-pro">redesigned touchscreen MacBook Pro</a>, though, this one doesn't light up.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HVH3Q6tyPYC3g7UrKpJSrc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/eE3ycmj2VBZB22CsV7vAoc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure></figure><p>The M6 Pro also doesn't pack Apple's fancy <a href="https://www.techradar.com/computing/macbooks/whats-the-tech-inside-the-touchscreen-macbook-pros-proled-xdr-screen-heres-why-the-tandem-oled-panel-is-important">new tandem OLED display</a>, which is a stunner, with especially impressive contrast and the added benefit of not having the notch. The 14.2-inch Liquid Retina XDR display here is no slouch, though, and even with that higher-end model's arrival, this remains one of the best laptop screens on the market.</p><p>It supports refresh rates up to 120Hz thanks to ProMotion, and delivers a 3024 x 1964 resolution with vibrant colors and excellent contrast, including wonderfully inky blacks. I've found it great for photo editing in Photos or <a href="https://www.techradar.com/computing/websites-apps/embargo-9am-et-january-28-2026-i-tried-apple-creator-studio-and-it-feels-like-a-return-to-apples-creative-roots">Pixelmator Pro</a>, video editing in iMovie, CapCut, or Final Cut Pro, streaming videos, FaceTime calls, and even the more straightforward task of writing this review. I always appreciate those inky blacks as I type away.</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="NR7MHfVcdmARaYSqrVtgDc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/NR7MHfVcdmARaYSqrVtgDc-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: Jacob Krol/Future)</span></figcaption></figure><p>I've become used to the rectangular cutout notch centered at the top of the display, and I'm still confident that if you've never experienced it before, any initial annoyance at its presence will quickly fade. I am eyeing the<a href="https://www.techradar.com/computing/macbooks/whats-the-tech-inside-the-touchscreen-macbook-pros-proled-xdr-screen-heres-why-the-tandem-oled-panel-is-important"> pill-shaped Dynamic Island on the more expensive MacBook Pro</a>, but it's really not a necessity. </p><p>Here, the menu bar wraps around the notch, which houses a 12-megapixel Center Stage camera that keeps you in the frame and looking sharp during video calls. It also supports Portrait mode to blur your background, and you can use the edges of the screen as a ring light in low lighting conditions.</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="Er9SH7bv7cjsawKpNZUWvc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/Er9SH7bv7cjsawKpNZUWvc-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: Jacob Krol/Future)</span></figcaption></figure><div class="product"><a data-dimension112="c8d436d8-d936-11f1-8225-c595ffe4c843" data-action="Deal Block" data-label="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension48="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="TxFSCBAzCEeX6xpvqBbnh9" name="design 4" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TxFSCBAzCEeX6xpvqBbnh9-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d436d8-d936-11f1-8225-c595ffe4c843" data-action="Deal Block" data-label="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension48="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-specs"><span>Apple 14-inch MacBook Pro (M6) Review: Specs</span></h3><div ><table><caption>Apple MacBook Pro 14-inch (M6/M5 Pro/M5 Max) specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>MacBook Pro 14-inch (M5)</p></th><th  ><p>MacBook Pro 14-inch (M5 Pro)</p></th><th  ><p>MacBook Pro 14-inch (M5 Max)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$1,999 / £1,999 / AU$3,199</p></td><td  ><p>$2,199 / £2,199 / AU$3,499</p></td><td  ><p>$3,599 / £1,999 / AU$5,799</p></td></tr><tr><td class="firstcol " ><p>CPU</p></td><td  ><p>M6 12-core</p></td><td  ><p>M5 Pro 15-core</p></td><td  ><p>M5 Max 18-core</p></td></tr><tr><td class="firstcol " ><p>GPU</p></td><td  ><p>12-core</p></td><td  ><p>16-core</p></td><td  ><p>32-core</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>16GB unified memory</p></td><td  ><p>24GB unified memory</p></td><td  ><p>36GB unified memory</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>1TB SSD</p></td><td  ><p>1TB SSD</p></td><td  ><p>2TB SSD</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td></tr><tr><td class="firstcol " ><p>Ports</p></td><td  ><p>3x Thunderbolt 4 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td><td  ><p>3x Thunderbolt 5 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td><td  ><p>3x Thunderbolt 5 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td></tr><tr><td class="firstcol " ><p>Wireless</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td></tr><tr><td class="firstcol " ><p>Weight </p></td><td  ><p>3.4 lbs (1.55kg)</p></td><td  ><p>3.5 lbs (1.60kg)</p></td><td  ><p>3.6 lbs (1.62kg)</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-performance"><span>Apple 14-inch MacBook Pro (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2YkpQA8C7N4PNNYn5DJaic" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/2YkpQA8C7N4PNNYn5DJaic-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>M6 is an excellent chip</strong></li><li><strong>Handles everyday multitasking, creative apps, and gaming with ease</strong></li><li><strong>Apple's N1 chip brings support for latest Wi-Fi and Bluetooth standards</strong></li></ul><p>Any Mac with Apple silicon really pushes the value meter, and the M6 inside the MacBook Pro is no different. But that also means that if you have an M5, M4, M3, or even an older MacBook Pro or <a href="https://www.techradar.com/computing/macbooks/i-upgraded-to-the-macbook-air-m5-at-last-and-boy-is-it-fast">MacBook Air</a>, and its performance is still good enough for your needs, you likely don't need to rush to upgrade just yet.</p><p>The M6 14-inch Pro sits alongside the M5 Pro and M5 Max, and only one chip configuration is available as the entry-level option. It's a 12-core CPU — made up of two super cores, four performance cores, and six efficiency cores — alongside a 12-core GPU and a Dual 16-core Neural Engine. While the M5 Pro and M5 Max can outperform it on the GPU front, those chips don't feature efficiency cores in the CPU or the doubled-up Neural Engine. The M6 starts with 16GB of RAM and 1TB of storage — the configuration I've been testing — but can be specced with up to 32GB of RAM and 4TB of storage.</p><p>So just how good is the M6 chip inside the 14-inch MacBook Pro? Well, quantitatively, it scored 4,752 in Geekbench 6's single-core test and 21,184 in multi-core. In Geekbench 7, it hit 4,027 single-core and 22,305 multi-core. Compare that to the M5-powered 14-inch MacBook Pro, which scored 4,288 and 17,926 in Geekbench 6, respectively. That's a considerable improvement of around 11% in single-core performance and 18% in multi-core. It also shows off the M6's multitasking chops and efficiency, the latter of which is mission-critical for a laptop with a battery inside — more on that below.</p><p>On the storage front, the SSD is largely unchanged. In the Blackmagic Disk Speed Test, the M6 MacBook Pro clocked read speeds of 6,684.6 MB/s and write speeds of 6,501.6 MB/s. That's essentially on par with the M5 model, which managed 6,619.7 MB/s read and 6,517 MB/s write. So, no major improvement here, but not a step backwards either.</p><p>Over the past few days, I've put the 14-inch MacBook Pro with M6 through its paces as my daily machine. I regularly use Slack, Google Chrome, Safari — both browsers with dozens of tabs open, as I don't love closing them — Notes, Photos, Pixelmator Pro, Siri, and Music, alongside Messages and the occasional FaceTime or iPhone Mirroring session. I also put it through some video exports and project-creation work, mainly for social video at 2K or 4K, using iMovie, Final Cut Pro, and Edits. I also spent some time gaming with titles like <em>Mini Metro</em>, <em>Mini Motorways</em>, and <a href="https://www.techradar.com/news/how-disneys-dreamlight-valley-made-me-feel-like-a-kid-again"><em>Disney Dreamlight Valley</em></a>.</p><p>Apple Intelligence is another area where the M6 feels right at home. Siri AI was particularly quick in my testing, especially with multimodal tasks, such as asking it about items on-screen or handling multi-step processes. <a href="https://www.techradar.com/computing/websites-apps/apple-creator-studio-is-getting-even-better-with-new-ai-tools-and-a-big-final-cut-pro-upgrade">Apple's Creator Studio improvements</a> also ran smoothly, including Generative Fill in Pixelmator Pro. These are the kinds of tasks that show off the M6's Neural Engine, and I didn't have to wait around for results. </p><p>Generative Fill in Pixelmator Pro, as part of Creator Studio, is really impressive, and while it can take a beat to process, it's on a par with Photoshop's Generative Fill. Take a look at the example below, where I added a river below a photo of a <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/just-silly-enough-to-be-perfect-ive-seen-rivians-ghostbusters-ecto-r1-in-action">Rivian R2</a> in a parking garage.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/wkyRAnBtdaRwohkZGs4Lnc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qzb2bYnMZ7vMEg4zkVMDqc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MfgDn69apDBmq7hXWuA46c-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure></figure><p>With plenty of apps open and a demanding workload running, I did occasionally hear the fans kick in, but never for sustained periods. For the most part, the MacBook Pro remained quiet, even with my usual mix of productivity and creative apps running.</p><p>The M6 doesn't quite beat the <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-14-inch-m5-2025">M5 Pro or M5 Max 14-inch MacBook Pro models</a> for more intensive tasks, like larger video exports. It can certainly hold its own, but those jobs take a little longer, and the fans might kick in along the way. For everyday use and then some, though, whether that's photo or video editing, music creation, or even gaming, the 14-inch MacBook Pro with M6 easily holds its own.</p><p>And that's the case whether you're plugged in or unplugged and running on battery. I didn't notice any performance throttling when switching to battery power, so you can expect the same capable performance without being tethered to an outlet.</p><p>Beyond adding the M6 chip, Apple also upgraded the connectivity specs, with the in-house-made N1 wireless chip bringing support for Wi-Fi 7, Bluetooth 6, and the Thread smart-home standard.</p><div class="product"><a data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="wA9dwiLeVuWMMnEvfdk3zm" name="performance 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/wA9dwiLeVuWMMnEvfdk3zm-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>I’ve found the Pro offers fast connectivity, mostly through my at-home network powered by Eero Pro 6s, and Bluetooth 6 provides a stable connection with my <a href="https://www.techradar.com/phones/airpods-5-and-airpods-5-with-wireless-charging-are-like-a-greatest-hits-rollout-of-airpods-pro-just-without-the-hearing-health-or-heart-rate-modules" data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="">AirPods 5</a>, <a href="https://www.techradar.com/audio/earbuds-airpods/airpods-pro-3-won-me-over-in-less-than-a-week-thanks-to-these-key-upgrades-heres-why">AirPods Pro 3,</a> and <a href="https://www.techradar.com/audio/headphones/beats-360-are-official-with-a-distinct-new-design-and-ive-been-wearing-the-cans-for-weeks">Beats 360</a>.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-battery-life"><span>Apple 14-inch MacBook Pro (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HVH3Q6tyPYC3g7UrKpJSrc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/HVH3Q6tyPYC3g7UrKpJSrc-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>All-day battery life</strong></li><li><strong>Beats Apple's own web-browsing estimate of 16 hours</strong></li><li><strong>Lasted an impressive 19 hours and 5 minutes in our browsing test</strong></li></ul><p>Unsurprisingly, the 14-inch MacBook Pro remains a battery-life champ with the M6 inside. Since Apple switched to its own in-house chips, performance, efficiency, and battery life have all improved compared to its previous Intel-powered laptops.</p><p>The M6 model features a 72.4-watt-hour lithium-polymer battery like the M5 before it, with Apple promising up to 24 hours of video playback, 16 hours of web browsing, and, as always, "all-day battery life." You can still charge it either with MagSafe — Apple includes a USB-C to MagSafe cable in the box — or via USB-C.</p><p>Even with pretty heavy use, the 14-inch MacBook Pro can comfortably last a full workday, and might stretch to multiple days without charging, depending on what you're doing. That's seriously impressive — and as I noted above, performance stays fast whether you're plugged in or running on battery.</p><div class="product"><a data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="39VPGi2xkBD3ZbnQSZzz6h" name="battery 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/39VPGi2xkBD3ZbnQSZzz6h-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>In the TechRadar and Future PLC labs test, the 14-inch MacBook Pro with M6 lasted an impressive 19 hours, 5 minutes, and 30 seconds in our web-browsing test. That's a fantastic result, beating Apple's own 16-hour web browsing estimate, and around 50 minutes longer than the previous <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-14-inch-m5-2025" data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" data-dimension25="">M5-powered 14-inch MacBook Pro</a>.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-14-inch-macbook-pro-with-m6"><span>Should I buy the Apple 14-inch MacBook Pro with M6?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the 14-inch MacBook Pro with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You're ready for an M-series MacBook Pro</strong></p></div><div class="card__description"><p>You get the modern MacBook Pro experience, plenty of performance from the M6 paired with 16GB of RAM and 1TB of storage to start, an excellent display, and long battery life. If you're still holding onto an Intel-powered MacBook Pro, now is an excellent time to make the jump to Apple silicon.</p></div><div class="card__description"><p><br /><strong>✅ You want excellent performance and battery life</strong></p></div><div class="card__description"><p>The M6 handles creative workloads with ease, and the 14-inch MacBook Pro lasted over 19 hours in our web-browsing test.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the 14-inch MacBook Pro with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You need a bigger screen</strong></p></div><div class="card__description"><p>If you want a bigger screen you'd be better off looking at the 15-inch MacBook Air, 16-inch MacBook Pro, or the 16-inch MacBook Pro with PROLED XDR Display.</p></div><div class="card__description"><p><br /><strong>❌ You need the most powerful MacBook Pro</strong></p></div><div class="card__description"><p>Since this only has the M6 inside, those who need even more performance — say, to run powerful AI models on-device or handle more creative, intensive tasks — should look at the M5 Pro or M5 Max MacBook Pros, available with or without the PROLED XDR Display.</p></div></div></div></div><h2 class="article-body__section" id="section-how-i-tested-the-apple-14-inch-macbook-pro-with-m6"><span>How I tested the Apple 14-inch MacBook Pro with M6</span></h2><p>I spent five days using the 14-inch MacBook Pro with M6 as one of my daily work machines, taking it through the kind of workload I'd typically throw at my own MacBook. That meant plenty of writing, editing, and multitasking, with dozens of tabs open across Safari and Chrome, with Slack, Notes, Messages, and other everyday apps running alongside creative tools like Pixelmator Pro.</p><p>I also tested how well the M6 handled more demanding tasks, including video exports, Apple Intelligence features, and gaming. I compared its performance with the M5 Pro-powered 14-inch MacBook Pro and an M4 14-inch MacBook Pro, and I also used it plugged in and on battery to see whether performance changed when untethered.</p><p><em>First reviewed November 2026.</em></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/macbooks/the-new-m6-macbook-pro-is-a-speed-boost-not-a-reinvention-and-im-fine-with-that</link>
                                                                            <description>
                            <![CDATA[ The M6-powered 14-inch MacBook Pro is a familiar but excellent laptop with impressive performance, outstanding battery life, and better connectivity. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ET6ZpD7KCtP8e8PbF3wNCW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/cC3HfEzdLaciYvVKWkdGrc-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 14:00:00 +0000</pubDate>                                                                                                                                <updated>Fri, 06 Nov 2026 09:11:37 +0000</updated>
                                                                                                                                            <category><![CDATA[Macbooks]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                                                                <author><![CDATA[ jacob.krol@futurenet.com (Jacob Krol) ]]></author>                    <dc:creator><![CDATA[ Jacob Krol ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/hKSCqxtWYDuUtwZseV9E3C-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Jacob Krol is the US Managing Editor for News at TechRadar overseeing the daily rollout of content and coordinating with various section leads. He joined TechRadar in May of 2024 and is based out of New York City. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Jacob was Senior Editor, Technology and Commerce at TheStreet focusing on covering the latest products in the consumer tech space from how to pre-order to finding the best deals with reviews, analysis, and features in between. Before that, Jacob was a founding member at CNN Underscored, building and growing the electronics section. He also assisted in building out social media channels, programming the homepage, and establishing protocols for testing various products for one-off reviews and best-of guides. Prior to starting at CNN, Jacob was a Tech Writer at Mashable focusing on news, reviews, and evergreen content. &lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;He has experience covering major players in the space like Apple, Samsung, Google, and Microsoft as well as testing products like smartphones, tablets, smartwatches, smart home gadgets, speakers, earbuds, headphones, TVs, and more futuristic tech like smart glasses.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Jacob received a Bachelor of Arts in Media &amp; Communication cum laude with a minor in Innovation and Entrepreneurship from Muhlenberg College. During his time on campus, he interned at CNET, Fox News, CNN, and CNBC, while also running his own tech blog, NJTechReviews, which he founded in 2010.&lt;/p&gt;&lt;p&gt;When not playing with a new gadget or breaking down the latest news, you can find Jacob listening to Bruce Springsteen, posting on TikTok, building a Lego set, watching a Star Wars show, or playing with his family dogs, Georgia and Charlie.&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/cC3HfEzdLaciYvVKWkdGrc-1920-80.jpg">
                                                            <media:credit><![CDATA[Jacob Krol/Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple 14-inch MacBook Pro M6 review]]></media:description>                                                            <media:text><![CDATA[Apple 14-inch MacBook Pro M6 review]]></media:text>
                                <media:title type="plain"><![CDATA[Apple 14-inch MacBook Pro M6 review]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/cC3HfEzdLaciYvVKWkdGrc-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-at-a-glance-apple-14-inch-macbook-pro-m6-review"><span>At a glance: Apple 14-inch MacBook Pro (M6) Review</span></h2><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/dtctBNapCHjhmnEvQw5r9R.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What is it?</h3><div class="card__description-wrapper"><div class="card__description"><p>Apple's latest update to the 14-inch MacBook Pro doesn't change much, but it keeps the line ticking over with the new M6 chip for improved overall performance and better connectivity, all in the same familiar build.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/pCUGu3BfJz4w4y5E8NHmAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">What does it cost?</h3><div class="card__description-wrapper"><div class="card__description"><p>The 14-inch MacBook Pro with M6 starts at $1,999 / £1,999 / AU$3,199, with 16GB of RAM and 1TB of storage. You can configure it with up to 32GB of RAM and 4TB of storage, add a Nano-Texture display, or step up to the more powerful M5 Pro or M5 Max chips.</p></div></div></div></div><div class="card card--standard card--rows-3 card--align-inline"><div class="card-image-widthsetter"><p class="vanilla-image-block"  style="padding-top:56.25%;"><img style="width: 100%" class="card__image" src="https://cdn.mos.cms.futurecdn.net/XnvYcAPALpRtRXfSaLLEAR.png" alt="icons for review" /></p></div><div class="card__content"><h3 class="card__title">Alternatives</h3><div class="card__description-wrapper"><div class="card__description"><p>If you need more power or a bigger screen, there's the 16-inch MacBook Pro with M6, or the 14-inch and 16-inch models with M5 Pro or M5 Max. The 13-inch and 15-inch M5 MacBook Air are better picks if you want a more portable build and can live with slightly less performance. If you want an OLED touchscreen and a thinner, lighter design, you'll need to look at the more expensive PROLED 14-inch or 16-inch models with the M5 Pro or M5 Max.</p></div></div></div></div><div class="vizualizer-embed"><style>@import url('https://fonts.googleapis.com/css2?family=Open+Sans:wght@400;700&display=swap'); @import url('https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap'); #fv-chart-1793883030756-48nqkdi61 *, #fv-chart-1793883030756-48nqkdi61 *:before, #fv-chart-1793883030756-48nqkdi61 *:after, #fv-chart-1793883030756-48nqkdi61-slideshow *, #fv-chart-1793883030756-48nqkdi61-slideshow *:before, #fv-chart-1793883030756-48nqkdi61-slideshow *:after { box-sizing: border-box !important; margin: 0; padding: 0; border: 0; font-size: 100%; font: inherit; vertical-align: baseline; } #fv-chart-1793883030756-48nqkdi61, #fv-chart-1793883030756-48nqkdi61-slideshow { font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883030756-48nqkdi61 { position: relative !important; overflow: visible !important; --riv-primary: #2E6E93; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper { color: #1F2937 !important; background-color: #ffffff !important; padding: 1.5rem 1.5rem 2rem !important; border-radius: 0.5rem !important; box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1) !important; margin: 1rem 0 !important; display: flex !important; flex-direction: column !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper.fv-no-header.fv-is-image-compare { padding-top: 0 !important; } #fv-chart-1793883030756-48nqkdi61.fv-full-bleed { width: 100vw !important; margin-left: calc(50% - 50vw) !important; } body { overflow-x: clip !important; } #fv-chart-1793883030756-48nqkdi61.fv-full-bleed .fv-inner-wrapper { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883030756-48nqkdi61 .fv-inner-wrapper.fv-is-shop-the-look { padding: 0 !important; border-radius: 0 !important; box-shadow: none !important; margin: 0 !important; background-color: transparent !important; } #fv-chart-1793883030756-48nqkdi61-slideshow { position: relative !important; width: 100% !important; margin: 1rem 0 !important; --riv-primary: #2E6E93; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slides-wrapper { position: relative !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slide { width: 100% !important; animation: fv-fade-in 0.3s ease-in-out; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-nav-row { position: relative !important; display: flex !important; justify-content: space-between !important; align-items: center !important; padding: 0 0 16px 0 !important; width: 100% !important; z-index: 20 !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn { background-color: var(--riv-primary) !important; color: #ffffff !important; border: none !important; border-radius: 4px !important; padding: 8px 16px !important; font-size: 14px !important; font-weight: 700 !important; cursor: pointer !important; display: flex !important; align-items: center !important; justify-content: center !important; gap: 6px !important; transition: opacity 0.2s, background-color 0.2s !important; height: 36px !important; text-transform: none !important; box-shadow: 0 1px 2px rgba(0,0,0,0.1) !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn svg { width: 18px !important; height: 18px !important; stroke-width: 3px !important; filter: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn:hover { opacity: 0.9 !important; transform: translateY(-1px) !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn.disabled, #fv-chart-1793883030756-48nqkdi61-slideshow .fv-nav-btn:disabled { background-color: #E5E7EB !important; color: #9CA3AF !important; cursor: default !important; pointer-events: none !important; box-shadow: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slide-counter { font-family: 'Poppins', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; color: #374151 !important; text-align: center !important; min-width: 40px !important; background-color: rgba(255,255,255,0.8) !important; padding: 2px 8px !important; border-radius: 10px !important; user-select: none !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-select { position: absolute !important; top: 10px !important; right: 10px !important; z-index: 20 !important; appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background-color: white !important; border: 1px solid #d1d5db !important; color: #1F2937 !important; font-family: 'Open Sans', sans-serif !important; font-size: 14px !important; font-weight: 600 !important; padding: 6px 32px 6px 12px !important; border-radius: 4px !important; cursor: pointer !important; box-shadow: 0 1px 2px rgba(0,0,0,0.05) !important; background-image: url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='none' viewBox='0 0 20 20'%3e%3cpath stroke='%236b7280' stroke-linecap='round' stroke-linejoin='round' stroke-width='1.5' d='M6 8l4 4 4-4'/%3e%3c/svg%3e") !important; background-position: right 0.5rem center !important; background-repeat: no-repeat !important; background-size: 1.5em 1.5em !important; } #fv-chart-1793883030756-48nqkdi61-slideshow .fv-slideshow-select:focus { outline: 2px solid #2E6E93 !important; border-color: #2E6E93 !important; } @keyframes fv-fade-in { from { opacity: 0; } to { opacity: 1; } } #fv-chart-1793883030756-48nqkdi61 .fv-chart-title { font-weight: bold !important; text-align: center !important; margin-bottom: 0.5rem !important; color: var(--riv-primary) !important; font-size: 20px !important; line-height: 1.2 !important; font-family: 'Open Sans', sans-serif !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; padding: 0 20px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-subhead { font-size: 18px !important; font-weight: 500 !important; text-align: center !important; margin-bottom: 2rem !important; color: #374151 !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; text-transform: none !important; padding: 0 20px !important; } #fv-chart-1793883030756-48nqkdi61 .rv-chart-caption { font-size: 15px !important; color: #374151 !important; text-align: center !important; font-style: normal !important; font-weight: normal !important; line-height: 1.7 !important; font-family: 'Open Sans', sans-serif !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-chart { display: flex; flex-direction: column; width: 100%; margin-top: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-header { display: flex; justify-content: space-between; align-items: center; margin-bottom: 1.5rem; padding: 0 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper { flex: 1; min-width: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left { text-align: center; padding-right: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right { text-align: center; padding-left: 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-container { position: relative; display: inline-block; max-width: 100%; width: 100%; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-chevron { position: absolute; top: 50%; transform: translateY(-50%); pointer-events: none; width: 16px; height: 16px; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left .fv-versus-chevron { right: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right .fv-versus-chevron { right: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select { background: transparent; border: none; border-bottom: 2px solid; font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; padding: 0.25rem 0; cursor: pointer; outline: none; appearance: none; -webkit-appearance: none; -moz-appearance: none; max-width: 100%; width: 100%; text-overflow: ellipsis; overflow: hidden; white-space: nowrap; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-left { text-align: center; direction: ltr; padding-right: 1.25rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-right { text-align: center; padding-right: 1.25rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select option { font-family: 'Open Sans', sans-serif; font-weight: 400; font-size: 14px; color: #374151; direction: ltr; text-align: left; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-vs { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; color: #374151; letter-spacing: 0.1em; padding: 0 1rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-body { display: flex; flex-direction: column; gap: 1.5rem; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-row { position: relative; height: auto; padding-top: 20px; margin-bottom: 0.25rem; display: block; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-container { position: relative; height: 32px; display: flex; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-left-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-end; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-right-wrapper { flex: 1; height: 100%; display: flex; justify-content: flex-start; align-items: center; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar { height: 32px; width: var(--target-width); transition: width 0.8s ease-out; animation: fv-grow-max-width 0.8s ease-out forwards; display: flex; align-items: center; overflow: hidden; color: #ffffff; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-left { border-radius: 4px 0 0 4px; justify-content: flex-end; padding: 0 8px; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-bar-right { border-radius: 0 4px 4px 0; justify-content: flex-start; padding: 0 8px; } @keyframes fv-grow-max-width { from { max-width: 0; } to { max-width: 100%; } } #fv-chart-1793883030756-48nqkdi61 .fv-versus-center-line { position: absolute; left: 50%; top: 0; bottom: 0; width: 4px; background-color: #ffffff; transform: translateX(-50%); z-index: 1; } #fv-chart-1793883030756-48nqkdi61 .fv-inside-left { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-inside-right { white-space: nowrap; flex-shrink: 0; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-val-text { font-family: 'Poppins', sans-serif; font-weight: 700; font-size: 14px; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-pct-diff { font-size: 12px; font-weight: 600; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-label { position: absolute; left: 50%; transform: translateX(-50%); top: 0; background-color: transparent; border: none; box-shadow: none; padding: 0; font-family: 'Open Sans', sans-serif; font-weight: 700; font-size: 14px; color: #374151; white-space: nowrap; } #fv-chart-1793883030756-48nqkdi61 .sr-only { position: absolute !important; width: 1px !important; height: 1px !important; padding: 0 !important; margin: -1px !important; overflow: hidden !important; clip: rect(0,0,0,0) !important; white-space: nowrap !important; border: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bottom-bar { display: flex !important; flex-direction: column !important; align-items: center !important; margin-top: 0.5rem !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-footer-content { text-align: center !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-logo { display: block !important; margin: 0 auto !important; width: 120px !important; min-width: 120px !important; max-width: 120px !important; height: auto !important; object-fit: contain !important; flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-wrapper { text-align: center !important; margin-bottom: 16px !important; margin-top: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title-container { position: relative !important; display: inline-block !important; max-width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title { appearance: none !important; -webkit-appearance: none !important; -moz-appearance: none !important; background: transparent !important; border: none !important; font-size: 18px !important; font-weight: 600 !important; color: var(--riv-primary) !important; padding-right: 28px !important; padding-left: 10px !important; cursor: pointer !important; text-align: center !important; text-align-last: center !important; width: auto !important; max-width: 100% !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; margin: 0 !important; text-overflow: ellipsis !important; overflow: hidden !important; white-space: nowrap !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title:focus { outline: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title::-ms-expand { display: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-chevron { position: absolute !important; right: 0 !important; top: 50% !important; transform: translateY(-50%) !important; pointer-events: none !important; color: var(--riv-primary) !important; display: flex !important; align-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-title-controls { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 16px !important; width: 100% !important; gap: 12px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn { background: transparent !important; border: 1px solid #d1d5db !important; border-radius: 6px !important; padding: 6px 10px !important; cursor: pointer !important; font-size: 14px !important; color: #374151 !important; display: flex !important; align-items: center !important; gap: 4px !important; font-family: 'Open Sans', sans-serif !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn:hover { border-color: #9ca3af !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-counter { font-size: 14px !important; color: #374151 !important; text-align: center !important; margin-top: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 8px 16px !important; margin: 0 !important; padding: 0 !important; margin-top: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend-item { display: flex !important; align-items: center !important; gap: 6px !important; font-size: 14px !important; color: #374151 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-legend-color { width: 12px !important; height: 12px !important; border-radius: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-value-legend { display: flex !important; justify-content: center !important; flex-wrap: wrap !important; gap: 12px 24px !important; margin-bottom: 1.5rem !important; padding: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-legend-item { display: flex !important; align-items: center !important; gap: 8px !important; font-size: 14px !important; color: #374151 !important; font-weight: 500 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-legend-swatch { width: 16px !important; height: 16px !important; border-radius: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-group { margin-bottom: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-title { font-size: 18px !important; font-weight: 600 !important; margin-bottom: 16px !important; margin-top: 0 !important; padding: 0 !important; text-align: center !important; color: var(--riv-primary) !important; flex: 1 !important; min-width: 0 !important; font-family: 'Open Sans', sans-serif !important; line-height: 1.3 !important; text-transform: none !important; white-space: normal !important; overflow-wrap: break-word !important; word-wrap: break-word !important; max-width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row, #fv-chart-1793883030756-48nqkdi61 .fv-stacked-product { display: flex !important; align-items: center !important; width: 100% !important; margin-bottom: 0.75rem !important; position: relative !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label { width: 150px !important; flex-shrink: 0 !important; font-size: 14px !important; color: #374151 !important; padding-right: 10px !important; text-align: right !important; font-weight: 500 !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-container { flex-grow: 1 !important; background-color: #E5E7EB !important; border-radius: 4px !important; min-height: 25px !important; border: 1px solid #D1D5DB !important; position: relative !important; display: flex !important; align-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-commentary-inline { display: none !important; position: absolute !important; left: 150px !important; top: 0 !important; bottom: 0 !important; right: 0 !important; width: calc(100% - 150px) !important; margin: 0 !important; padding: 0 8px !important; font-size: 13px !important; color: #fff !important; background: rgba(0,0,0,0.8) !important; border-radius: 4px !important; line-height: 1.4 !important; font-weight: normal !important; text-transform: none !important; word-wrap: break-word !important; z-index: 10 !important; align-items: center !important; overflow-y: auto !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-bar-commentary-inline:focus-within, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline:focus-within { display: flex !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar { height: 100% !important; border-radius: 3px !important; display: flex !important; align-items: center !important; transition: opacity 0.2s ease, width 0.8s ease-out !important; min-height: 23px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar:hover { opacity: 0.8 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-content { display: flex !important; justify-content: space-between !important; align-items: center !important; width: 100% !important; height: 100% !important; padding: 0 8px !important; font-size: 14px !important; font-weight: bold !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-label { white-space: nowrap !important; overflow: hidden !important; text-overflow: ellipsis !important; padding-right: 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-inner-value { flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-value-outside { padding-left: 8px !important; font-size: 14px !important; font-weight: bold !important; color: #374151 !important; white-space: nowrap !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label.fv-primary-product { font-weight: bold !important; color: var(--riv-primary) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-bar-container { flex-direction: column !important; padding: 4px !important; align-items: stretch !important; gap: 4px !important; height: auto !important; } #fv-chart-1793883030756-48nqkdi61 .fv-multi-bar-item { display: flex !important; align-items: center !important; height: 25px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-bar { display: flex !important; overflow: hidden !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-segment { height: 100% !important; display: flex !important; align-items: center !important; justify-content: flex-end !important; padding-right: 8px !important; border-right: 1px solid rgba(255,255,255,0.3) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stacked-segment:last-child { border-right: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-segment-value { font-size: 14px !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-bar-product { display: flex !important; flex-direction: column !important; width: 100% !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title-wrapper { padding-left: 150px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.5rem !important; font-weight: 700 !important; font-size: 14px !important; color: #374151 !important; text-transform: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster { width: 100% !important; flex-grow: 1 !important; display: flex !important; flex-direction: column !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster .fv-bar-row { margin-bottom: 3px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster .fv-bar-container { height: 20px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dials-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(145px, 1fr)) !important; gap: 1.5rem 1rem !important; width: 100% !important; margin: 0.75rem 0 1.25rem !important; align-items: start !important; justify-items: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-card { display: flex !important; flex-direction: column !important; align-items: center !important; text-align: center !important; width: 100% !important; max-width: 220px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-title { font-family: 'Poppins', 'Open Sans', sans-serif !important; font-size: 18px !important; font-weight: 700 !important; color: #2b2b2b !important; line-height: 1.25 !important; margin-bottom: 0.35rem !important; text-align: center !important; width: 100% !important; overflow-wrap: break-word !important; text-transform: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-svg-wrapper { width: 100% !important; max-width: 200px !important; display: flex !important; justify-content: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-svg { width: 100% !important; height: auto !important; display: block !important; overflow: visible !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-needle { transition: transform 0.9s cubic-bezier(0.22, 1, 0.36, 1) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-commentary { margin-top: 0.35rem !important; font-size: 13px !important; line-height: 1.45 !important; color: #4B5563 !important; text-align: center !important; width: 100% !important; padding: 0 4px !important; font-family: 'Open Sans', sans-serif !important; word-wrap: break-word !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-commentary-input { min-height: 22px !important; border: 1px dashed transparent !important; border-radius: 4px !important; transition: border-color 0.15s ease, background-color 0.15s ease !important; } #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-card:hover .fv-dial-commentary-input, #fv-chart-1793883030756-48nqkdi61.preview-wrapper .fv-dial-commentary-input:focus { border-color: #CBD5E1 !important; background-color: rgba(241, 245, 249, 0.6) !important; } #fv-chart-1793883030756-48nqkdi61 .riv-grid line { stroke: #D1D5DB !important; stroke-dasharray: 3 3 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper { display: flex !important; width: 100% !important; margin-top: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-label-space { width: 150px !important; padding-right: 10px !important; flex-shrink: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-chart-space { flex-grow: 1 !important; padding-right: 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper.fv-grouped-x-axis { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-line { border-top: 1px solid #D1D5DB !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks { display: flex !important; justify-content: space-between !important; padding-top: 4px !important; font-size: 13px !important; color: #374151 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks span { position: relative !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-ticks span::before { content: '' !important; position: absolute !important; top: -6px !important; left: 50% !important; transform: translateX(-50%) !important; width: 2px !important; height: 4px !important; background-color: #D1D5DB !important; border-radius: 1px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-unit { text-align: center !important; font-size: 14px !important; color: #374151 !important; margin-top: 8px !important; display: block !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-title { text-align: center !important; font-size: 15px !important; color: #374151 !important; margin-top: 8px !important; margin-bottom: 16px !important; line-height: 1.5 !important; padding: 0 1rem !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61 .fv-y-axis-title { font-size: 15px !important; color: #374151 !important; line-height: 1.5 !important; text-align: left !important; padding-left: 5.83% !important; margin-bottom: 4px !important; display: block !important; font-weight: bold !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-pie-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-product-title-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-bar-product, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-label:not(.fv-grouped-product-title), #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-label, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-grouped-product-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-label, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-container, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-cluster, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-row .fv-bar-commentary-inline:focus-within, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-label-space, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-x-axis-chart-space, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-benchmark-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dropdown-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-carousel-nav-btn, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-chart-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-chart-subhead, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-header, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper.fv-left, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-wrapper.fv-right, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select.fv-select-left, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select.fv-select-right, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-vs, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select-container, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-versus-select, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-btn, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-icon, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-stl-shop-all-icon svg, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dials-grid, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-dial-title, #fv-chart-1793883030756-48nqkdi61.labels-on-top .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883030756-48nqkdi61.mobile-view.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } @media (max-width: 599px) { #fv-chart-1793883030756-48nqkdi61 .fv-pie-container { flex-direction: column !important; gap: 1rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title-wrapper { padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row, #fv-chart-1793883030756-48nqkdi61 .fv-stacked-product, #fv-chart-1793883030756-48nqkdi61 .fv-grouped-bar-product { flex-direction: column !important; align-items: flex-start !important; margin-bottom: 1.25rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label:not(.fv-grouped-product-title) { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-label, #fv-chart-1793883030756-48nqkdi61 .fv-grouped-product-title { width: 100% !important; text-align: left !important; padding-right: 0 !important; margin-bottom: 0.25rem !important; font-size: 14px !important; font-weight: 700 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-container, #fv-chart-1793883030756-48nqkdi61 .fv-bar-cluster { width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row:hover .fv-bar-commentary-inline, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline:focus, #fv-chart-1793883030756-48nqkdi61 .fv-bar-row .fv-bar-commentary-inline:focus-within { position: static !important; display: block !important; width: 100% !important; margin: 4px 0 0 0 !important; padding: 0 !important; background: transparent !important; color: #6B7280 !important; font-size: 12px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-wrapper { margin-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-label-space { display: none !important; } #fv-chart-1793883030756-48nqkdi61 .fv-x-axis-chart-space { padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-benchmark-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dropdown-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-carousel-nav-btn { padding: 8px 12px !important; font-size: 14px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-title { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-chart-subhead { padding: 0 8px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-header { flex-direction: column !important; align-items: center !important; padding: 0 !important; gap: 0.5rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper { flex: 1 !important; min-width: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-left { text-align: center !important; padding-right: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-wrapper.fv-right { text-align: center !important; padding-left: 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-left { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select.fv-select-right { text-align: center !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-vs { text-align: center !important; padding: 0.25rem 0 !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select-container { max-width: 100% !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-versus-select { font-size: 14px !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-btn { bottom: 0.5rem !important; right: 0.5rem !important; height: 2rem !important; font-size: 0.75rem !important; padding: 0 0.75rem 0 2.5rem !important; max-width: calc(100% - 1rem) !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-logo, #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-icon { width: 2rem !important; height: 2rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-stl-shop-all-icon svg { width: 14px !important; height: 14px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-bar-commentary-inline { display: block !important; margin-left: 0 !important; width: 100% !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dials-grid { grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)) !important; gap: 1.25rem 0.75rem !important; } #fv-chart-1793883030756-48nqkdi61 .fv-dial-title { font-size: 16px !important; } #fv-chart-1793883030756-48nqkdi61 .fv-y-axis-title { padding-left: 5% !important; } #fv-chart-1793883030756-48nqkdi61.fv-contains-line-chart .fv-footer-content { margin-left: -1rem !important; margin-right: -1rem !important; } }</style><script type="application/ld+json">{  "@context": "https://schema.org",  "@type": "Dataset",  "name": "Apple MacBook Pro 14-inch (2026, M6) scorecard",  "description": "How the Apple MacBook Pro 14-inch (2026, M6) scored in our review",  "creator": {    "@type": "Organization",    "name": "TechRadar",    "logo": "https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png"  },  "isAccessibleForFree": true,  "dateCreated": "2026-11-05T12:50:30.756Z",  "citation": "Add your caption to explain the data, the learnings and the key takeaways of the data being visualized",  "keywords": [    "Apple MacBook Pro 14-inch (2026, M6)",    "Value",    "Design",    "Performance",    "Battery life",    "Overall",    "Group 1",    "benchmark",    "comparison",    "performance",    "review",    "TechRadar"  ],  "measurementTechnique": "Performance Benchmarking",  "variableMeasured": [    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Value",      "value": 4,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Design",      "value": 4,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Performance",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Battery life",      "value": 4.5,      "unitText": "",      "maxValue": 5    },    {      "@type": "PropertyValue",      "name": "Apple MacBook Pro 14-inch (2026, M6) – Overall",      "value": 4,      "unitText": "",      "maxValue": 5    }  ]}</script><script type="application/json" class="fv-embed-state" data-version="2">{"version":2,"exportedAt":"2026-11-05T12:50:30.756Z","state":{"data":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Value","value":4,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Design","value":4,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Performance","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Battery life","value":4.5,"unit":"","maxValue":5},{"productName":"Apple MacBook Pro 14-inch (2026, M6)","attribute":"Overall","value":4,"unit":"","maxValue":5}],"products":["Apple MacBook Pro 14-inch (2026, M6)"],"attributes":["Value","Design","Performance","Battery life","Overall"],"selectedProducts":["Apple MacBook Pro 14-inch (2026, M6)"],"selectedPrimaryProduct":"Apple MacBook Pro 14-inch (2026, M6)","selectedAttributes":["Value","Design","Performance","Battery life","Overall"],"productColors":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","color":"#E8238C"}],"initialProductColors":[{"productName":"Apple MacBook Pro 14-inch (2026, M6)","color":"#E8238C"}],"attributeColors":[],"attributeGroups":[{"name":"Group 1","attributes":["Value","Design","Performance","Battery life","Overall"]}],"chartType":"Bar","roundupViewType":"bars","stlSelectedHotspotId":null,"iaSelectedNodeId":null,"barChartMaxValueOverrides":{},"barChartMinValueOverrides":{},"displayMode":"All Charts","brand":{"name":"TechRadar","logoUrl":"https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png","sliderLogoUrl":"https://proof.vanilla.tools/media/images/brandLogos/techradar.png","colors":{"primary":"#2E6E93","secondary":"#E8238C","accent":"#FFFFFF","background":"#ffffff","text":"#1F2937","productColors":["#2E6E93","#E8238C","#5DA8D4","#F06EAF","#1A4E6B","#B81C70","#8CC3E0","#F499C9"]}},"textContent":{"title":"Apple MacBook Pro 14-inch (2026, M6) scorecard","subhead":"How the Apple MacBook Pro 14-inch (2026, M6) scored in our review","caption":"Add your caption to explain the data, the learnings and the key takeaways of the data being visualized","productNameOverrides":{},"attributeNameOverrides":{},"chartTitleOverrides":{},"xAxisLabelOverrides":{},"subheadOverrides":{},"captionOverrides":{},"unitOverrides":{},"multiValueLegendOverrides":{},"barCommentaryOverrides":{}},"dataEverLoaded":true,"showAISuggestionsButton":false,"barChartShowXAxis":false,"groupedBarChartShowProductName":false,"barChartLabelsOnTop":false,"experimentalEnablePieChart":false,"slideshowUseDropdown":false},"slides":[]}</script><div id="fv-chart-1793883030756-48nqkdi61" class="fv-chart-wrapper   " data-bar-labels-on-top="false" data-iframe-height="true" data-vizualizer-embed="true"><div class="fv-inner-wrapper    "><h3 class="fv-chart-title">Apple MacBook Pro 14-inch (2026, M6) scorecard</h3><p class="fv-chart-subhead">How the Apple MacBook Pro 14-inch (2026, M6) scored in our review</p><div class="riv-chart-container"><div class="fv-chart-item" id="fv-chart-1793883030756-48nqkdi61-grouped-bar-Group 1" data-chart-type="Bar" data-title="Group 1" data-subhead="How the Apple MacBook Pro 14-inch (2026, M6) scored in our review" data-caption="" data-grouped-show-product-name="false" style=""><div class="fv-benchmark-group"><div class="fv-grouped-bar-product"><div class="fv-bar-cluster"><div class="fv-bar-row"><div class="fv-bar-label">Value</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Design</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Performance</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Battery life</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 90%; background-color: #E8238C;" data-target-width="90" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4.5</span></div></div></div></div><div class="fv-bar-row"><div class="fv-bar-label">Overall</div><div class="fv-bar-container"><div class="fv-bar" style="margin-left: 0%; width: 80%; background-color: #E8238C;" data-target-width="80" data-target-margin="0"><div class="fv-bar-inner-content" style="color: #ffffff !important; text-shadow: 1px 1px 1px rgba(0,0,0,0.3) !important; flex-direction: row;"><span></span><span class="fv-bar-inner-value">4</span></div></div></div></div></div></div><table class="sr-only"><caption>Group 1 Data</caption><thead><tr><th>Product</th><th>Value ()</th><th>Design ()</th><th>Performance ()</th><th>Battery life ()</th><th>Overall ()</th></tr></thead><tbody><tr><td>Apple MacBook Pro 14-inch (2026, M6)</td><td>4</td><td>4</td><td>4.5</td><td>4.5</td><td>4</td></tr></tbody></table></div></div></div><div class="fv-bottom-bar"><div class="fv-footer-content" style="display: none;"><div class="rv-chart-caption" style="display: block;"><span class="fv-original-caption" style="display: block;"></span><span class="fv-ia-dynamic-caption" style="display: none;"></span></div></div><div class="fv-logo-explore-bar"><img class="fv-logo" src="https://cdn.mos.cms.futurecdn.net/dAwPEozB9GMMhAngdFJTHb.png" alt="TechRadar Logo" /></div></div></div></div><script>      window.iFrameResizer = {        heightCalculationMethod: 'taggedElement'      };    </script>    <script src="https://cdnjs.cloudflare.com/ajax/libs/iframe-resizer/4.2.11/iframeResizer.contentWindow.min.js" async=""></script>    <script>          (function() {            function createChartAnimator() {        return function animateChartWrapper(chartWrapper) {          if (!chartWrapper) return;                    function animateBars(chartElement) {            if (!chartElement) return;            var bars = chartElement.querySelectorAll('.fv-bar, .fv-stacked-segment');            bars.forEach(function(bar, index) {                bar.style.setProperty('width', '0%', 'important');                bar.style.setProperty('transition', 'none', 'important');                var targetWidth = bar.dataset.targetWidth;                if (targetWidth === undefined) return;                                void bar.offsetWidth;                 var targetMargin = bar.dataset.targetMargin;                var baseMargin = bar.dataset.baseMargin;                if (baseMargin !== undefined) {                    bar.style.setProperty('margin-left', baseMargin + '%', 'important');                }                                setTimeout(function() {                    var marginTransition = baseMargin !== undefined ? ', margin-left 0.8s ease-out' : '';                    bar.style.setProperty('transition', 'opacity 0.2s ease, width 0.8s ease-out' + marginTransition, 'important');                    bar.style.setProperty('width', targetWidth + '%', 'important');                    if (targetMargin !== undefined && baseMargin !== undefined) {                        bar.style.setProperty('margin-left', targetMargin + '%', 'important');                    }                }, index * 50 + 50);            });          }          function animateLineChart(chartElement) {              if (!chartElement) return;              var lineSvg = chartElement.querySelector('svg');              if (!lineSvg) return;              var paths = lineSvg.querySelectorAll('.riv-line-path');              paths.forEach(function(p, i) {                if (typeof p.getTotalLength === 'function') {                  var len = p.getTotalLength();                  p.style.transition = 'none';                  p.style.strokeDasharray = len;                  p.style.strokeDashoffset = len;                  p.getBoundingClientRect();                  setTimeout(function() {                    p.style.transition = 'stroke-dashoffset 1s ease-out ' + (i * 0.1) + 's, stroke-width 0.2s, opacity 0.2s';                    p.style.strokeDashoffset = '0';                  }, 100);                }              });              var dots = lineSvg.querySelectorAll('.riv-dot');              dots.forEach(function(dot, i) {                dot.style.opacity = '0';                setTimeout(function() {                    dot.style.transition = 'opacity 0.3s ease';                    dot.style.opacity = '1';                }, 500 + i * 10);              });            }          function animateDials(chartElement) {            if (!chartElement) return;            var needles = chartElement.querySelectorAll('.fv-dial-needle');            needles.forEach(function(needle, index) {              var targetAngle = needle.dataset.targetAngle;              var baseAngle = needle.dataset.baseAngle || '-132';              if (targetAngle === undefined) return;              needle.style.setProperty('transition', 'none', 'important');              needle.style.setProperty('transform', 'rotate(' + baseAngle + 'deg)', 'important');              void needle.getBoundingClientRect();              setTimeout(function() {                needle.style.setProperty('transition', 'transform 0.9s cubic-bezier(0.22, 1, 0.36, 1)', 'important');                needle.style.setProperty('transform', 'rotate(' + targetAngle + 'deg)', 'important');              }, index * 60 + 50);            });          }            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            charts.forEach(function(chart) {                if (window.getComputedStyle(chart).display === 'none') return;                var chartType = chart.dataset.chartType;                if (chartType === 'Line') {                  animateLineChart(chart);                } else if (chartType !== 'Pie') {                  animateBars(chart);                  animateDials(chart);                }            });        };      }      var fvLocalAnimate = createChartAnimator();      window.fvAnimateCharts = fvLocalAnimate;            function initialize(uniqueId, isSlideshow) {        var root = document.getElementById(uniqueId);        if (!root && !isSlideshow) return;                function setupWrapper(chartWrapper) {            if (!chartWrapper) return;                        /* Responsive mobile view handling */            function checkMobileView() {                var width = chartWrapper.getBoundingClientRect().width;                var isMobileDevice = window.screen && Math.min(window.screen.width, window.screen.height) <= 599;                                var isMobile;                if (width === 0) {                    isMobile = isMobileDevice || window.matchMedia('(max-width: 599px)').matches;                } else {                    isMobile = isMobileDevice || width < 600;                }                                if (isMobile) {                    chartWrapper.classList.add('mobile-view');                } else {                    chartWrapper.classList.remove('mobile-view');                }            }                        checkMobileView();                        if (typeof ResizeObserver !== 'undefined') {                var ro = new ResizeObserver(function() {                    checkMobileView();                });                ro.observe(chartWrapper);            }                        window.addEventListener('resize', checkMobileView);                        var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';            if (labelsOnTop) {                var charts = chartWrapper.querySelectorAll('.fv-chart-item');                var hasVisibleBarChart = false;                charts.forEach(function(c) {                    if (window.getComputedStyle(c).display !== 'none') {                        var cType = c.dataset.chartType;                        if (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus') {                            hasVisibleBarChart = true;                        }                    }                });                                if (hasVisibleBarChart) {                    chartWrapper.classList.add('labels-on-top');                } else {                    chartWrapper.classList.remove('labels-on-top');                }            } else {                chartWrapper.classList.remove('labels-on-top');            }                        /* Legend interactions */            chartWrapper.querySelectorAll('.riv-line-legend').forEach(function(legend) {                var chartId = legend.dataset.chart;                var chart = chartWrapper.querySelector('[id="' + chartId + '"]');                if (!chart) return;                var lines = chart.querySelectorAll('.riv-line-path');                var dots = chart.querySelectorAll('.riv-dot');                var legendItems = legend.querySelectorAll('.riv-legend-item');                legendItems.forEach(function(item) {                    var productName = item.dataset.product;                    var safeProductName = productName.replace(/"/g, '\\"');                    var line = chart.querySelector('.riv-line-path[data-product="' + safeProductName + '"]');                    var productDots = chart.querySelectorAll('.riv-dot[data-product="' + safeProductName + '"]');                                        if (line && !line.dataset.origStroke) {                        line.dataset.origStroke = line.getAttribute('stroke-width') || '2';                    }                                        var highlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '0.2'; });                        legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                        if (line) {                            line.style.opacity = '1';                            line.setAttribute('stroke-width', '4');                        }                        productDots.forEach(function(d) { d.style.opacity = '1'; });                        item.style.opacity = '1';                    };                    var clearHighlight = function() {                        if (legend.querySelector('.isolated')) return;                        lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                        dots.forEach(function(d) { d.style.opacity = '1'; });                        legendItems.forEach(function(i) { i.style.opacity = '1'; });                    };                    var toggleIsolate = function() {                        var isIsolated = item.classList.contains('isolated');                        legendItems.forEach(function(i) { i.classList.remove('isolated'); });                        if (isIsolated) {                            lines.forEach(function(l) { l.style.opacity = '1'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '1'; });                            legendItems.forEach(function(i) { i.style.opacity = '1'; });                        } else {                            item.classList.add('isolated');                            lines.forEach(function(l) { l.style.opacity = '0.2'; l.setAttribute('stroke-width', l.dataset.origStroke); });                            dots.forEach(function(d) { d.style.opacity = '0.2'; });                            legendItems.forEach(function(i) { i.style.opacity = '0.3'; i.style.transition = 'opacity 0.2s'; });                            if (line) {                                line.style.opacity = '1';                                line.setAttribute('stroke-width', '4');                            }                            productDots.forEach(function(d) { d.style.opacity = '1'; });                            item.style.opacity = '1';                        }                    };                    item.addEventListener('mouseenter', highlight);                    item.addEventListener('focus', highlight);                    item.addEventListener('mouseleave', clearHighlight);                    item.addEventListener('blur', clearHighlight);                    item.addEventListener('click', toggleIsolate);                                        if (line) {                        line.style.cursor = 'pointer';                        line.addEventListener('mouseenter', highlight);                        line.addEventListener('mouseleave', clearHighlight);                        line.addEventListener('click', toggleIsolate);                    }                });            });                        /* Versus Chart Logic */            var versusCharts = chartWrapper.querySelectorAll('.fv-versus-chart');            versusCharts.forEach(function(vc) {                var dataJson = vc.getAttribute('data-versus-data');                var leftColor = vc.getAttribute('data-left-color') || '#E53935';                var rightColor = vc.getAttribute('data-right-color') || '#FFB300';                if (!dataJson) return;                                var versusData = JSON.parse(dataJson);                                var leftSelect = vc.querySelector('.fv-select-left');                var rightSelect = vc.querySelector('.fv-select-right');                var rows = vc.querySelectorAll('.fv-versus-row');                                function updateVersusChart() {                    var leftProduct = leftSelect.value;                    var rightProduct = rightSelect.value;                                        leftSelect.style.color = leftColor;                    leftSelect.style.borderColor = leftColor;                    rightSelect.style.color = rightColor;                    rightSelect.style.borderColor = rightColor;                                        rows.forEach(function(row) {                        var index = parseInt(row.getAttribute('data-index'));                        var data = versusData[index];                        if (!data) return;                                                var leftVal = data.productData[leftProduct] ? data.productData[leftProduct].value : undefined;                        var rightVal = data.productData[rightProduct] ? data.productData[rightProduct].value : undefined;                                                var leftIsNum = typeof leftVal === 'number';                        var rightIsNum = typeof rightVal === 'number';                                                var leftNum = leftIsNum ? leftVal : 0;                        var rightNum = rightIsNum ? rightVal : 0;                                                var maxVal = Math.max(leftNum, rightNum, 0.0001);                                                var leftWidth = leftIsNum ? (leftNum / maxVal) * 95 : 0;                        var rightWidth = rightIsNum ? (rightNum / maxVal) * 85 : 0;                                                var winner = null;                        var pctDiffStr = null;                                                if (leftIsNum && rightIsNum) {                            if (leftNum > rightNum) {                                winner = 'left';                                if (rightNum > 0) {                                    var diff = Math.round(((leftNum - rightNum) / rightNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            } else if (rightNum > leftNum) {                                winner = 'right';                                if (leftNum > 0) {                                    var diff = Math.round(((rightNum - leftNum) / leftNum) * 100);                                    pctDiffStr = '+' + diff.toLocaleString() + '%';                                }                            }                        }                                                var leftDisplay = data.productData[leftProduct] && data.productData[leftProduct].displayValue !== undefined ? data.productData[leftProduct].displayValue : (leftIsNum ? leftNum.toLocaleString() : (leftVal !== undefined ? leftVal : '-'));                        var rightDisplay = data.productData[rightProduct] && data.productData[rightProduct].displayValue !== undefined ? data.productData[rightProduct].displayValue : (rightIsNum ? rightNum.toLocaleString() : (rightVal !== undefined ? rightVal : '-'));                        var unit = (data.productData[leftProduct] && data.productData[leftProduct].unit) ||                                    (data.productData[rightProduct] && data.productData[rightProduct].unit) || '';                                                var leftTextStr = leftDisplay;                        var rightTextStr = rightDisplay;                                                var leftBar = row.querySelector('.fv-versus-bar-left');                        var rightBar = row.querySelector('.fv-versus-bar-right');                        var leftText = row.querySelector('.fv-inside-left');                        var rightText = row.querySelector('.fv-inside-right');                        var labelText = row.querySelector('.fv-versus-label span');                                                var existingPctDiffs = row.querySelectorAll('.fv-versus-pct-diff');                        existingPctDiffs.forEach(function(el) { el.remove(); });                                                if (winner === 'left' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (leftBar) leftBar.insertBefore(pctSpan, leftBar.firstChild);                        } else if (winner === 'right' && pctDiffStr) {                            var pctSpan = document.createElement('span');                            pctSpan.className = 'fv-versus-pct-diff';                            pctSpan.style.color = 'rgba(255, 255, 255, 0.9)';                            pctSpan.textContent = pctDiffStr;                            if (rightBar) rightBar.appendChild(pctSpan);                        }                                                if (leftBar) {                            leftBar.style.backgroundColor = leftColor;                            leftBar.dataset.targetWidth = leftWidth;                            leftBar.style.setProperty('--target-width', leftWidth + '%');                            leftBar.style.width = leftWidth + '%';                        }                        if (rightBar) {                            rightBar.style.backgroundColor = rightColor;                            rightBar.dataset.targetWidth = rightWidth;                            rightBar.style.setProperty('--target-width', rightWidth + '%');                            rightBar.style.width = rightWidth + '%';                        }                        if (leftText) {                            leftText.innerHTML = leftTextStr;                        }                        if (rightText) {                            rightText.innerHTML = rightTextStr;                        }                        if (labelText) {                            labelText.textContent = data.attribute + (unit ? ' (' + unit + ')' : '');                        }                    });                }                                if (leftSelect) leftSelect.addEventListener('change', updateVersusChart);                if (rightSelect) rightSelect.addEventListener('change', updateVersusChart);            });            /* Bar Commentary Hover Logic */            var barRows = chartWrapper.querySelectorAll('.fv-bar-row');            var globalCaptionEl = chartWrapper.querySelector('.rv-chart-caption');            var fallbackCaptionHtml = globalCaptionEl ? globalCaptionEl.innerHTML : '';                        barRows.forEach(function(row) {                var commentaryEl = row.querySelector('[data-commentary-key]');                if (commentaryEl) {                    var commentaryText = commentaryEl.textContent;                    if (commentaryText && commentaryText.trim().length > 0) {                        row.addEventListener('mouseenter', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = commentaryText;                                globalCaptionEl.classList.add('fv-bar-active-caption');                            }                        });                        row.addEventListener('mouseleave', function() {                            if (!chartWrapper.classList.contains('mobile-view') && globalCaptionEl) {                                globalCaptionEl.innerHTML = fallbackCaptionHtml;                                globalCaptionEl.classList.remove('fv-bar-active-caption');                            }                        });                    }                }            });            /* Carousel & Dropdown Logic */            var charts = chartWrapper.querySelectorAll('.fv-chart-item');            var dropdown = chartWrapper.querySelector('.fv-dropdown-title');            var prevBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.prev');            var nextBtn = chartWrapper.querySelector('.fv-carousel-nav-btn.next');            var carouselTitle = chartWrapper.querySelector('.fv-carousel-title-controls .fv-benchmark-title');            var counter = chartWrapper.querySelector('.fv-carousel-counter');                        var subheadEl = chartWrapper.querySelector('.fv-chart-subhead');            var captionEl = chartWrapper.querySelector('.rv-chart-caption');            var footerContentEl = chartWrapper.querySelector('.fv-footer-content');            var bottomBarEl = chartWrapper.querySelector('.fv-bottom-bar');            var logoEl = chartWrapper.querySelector('.fv-logo');            if (charts.length > 1 && (dropdown || prevBtn)) {                 var currentChartIndex = 0;                 var titles = [];                 if (dropdown) {                    titles = Array.from(dropdown.options).map(function(o) { return o.text; });                 } else {                    charts.forEach(function(c) {                        titles.push(c.getAttribute('data-title') || '');                    });                 }                                  function showInternalChart(index) {                    if (index < 0) index = charts.length - 1;                    if (index >= charts.length) index = 0;                    currentChartIndex = index;                                        charts.forEach(function(c, i) {                        c.style.display = i === index ? 'block' : 'none';                        if (i === index) {                             var cType = c.dataset.chartType;                             if (cType !== 'Pie') {                                 fvLocalAnimate(chartWrapper);                             }                                                          var labelsOnTop = chartWrapper.dataset.barLabelsOnTop === 'true';                             if (labelsOnTop && (cType === 'Bar' || cType === 'Diverging Bar' || cType === 'Stacked Bar' || cType === 'Versus')) {                                 chartWrapper.classList.add('labels-on-top');                             } else {                                 chartWrapper.classList.remove('labels-on-top');                             }                        }                    });                                        if (dropdown) dropdown.value = index;                    if (carouselTitle && titles[index]) carouselTitle.textContent = titles[index];                    if (counter) counter.textContent = (index + 1) + ' of ' + charts.length;                                        var activeChart = charts[index];                    if (activeChart) {                        var newSubhead = activeChart.getAttribute('data-subhead');                        var newCaption = activeChart.getAttribute('data-caption');                        var currentChartType = activeChart.getAttribute('data-chart-type');                        var hideGlobalCaption = currentChartType === 'Countdown' || currentChartType === 'Image Comparison' || currentChartType === 'Shop the Collection';                                                if (subheadEl) subheadEl.textContent = newSubhead || '';                        if (captionEl) {                            captionEl.textContent = newCaption || '';                            fallbackCaptionHtml = newCaption || '';                        }                                                if (footerContentEl) {                             if (newCaption && newCaption.trim().length > 0 && !hideGlobalCaption) {                                 footerContentEl.style.display = 'block';                                 if (bottomBarEl) bottomBarEl.style.display = 'flex';                             } else {                                 footerContentEl.style.display = 'none';                                 if (bottomBarEl && !logoEl) {                                     bottomBarEl.style.display = 'none';                                 }                             }                        }                    }                 }                                  if (dropdown) dropdown.addEventListener('change', function(e) { showInternalChart(parseInt(e.target.value)); });                 if (prevBtn) prevBtn.addEventListener('click', function() { showInternalChart(currentChartIndex - 1); });                 if (nextBtn) nextBtn.addEventListener('click', function() { showInternalChart(currentChartIndex + 1); });            }                        /* Image Comparison Logic */            var imageCompareWrappers = chartWrapper.querySelectorAll('.fv-image-compare-wrapper');            imageCompareWrappers.forEach(function(wrapper) {                var inner = wrapper.querySelector('.fv-image-compare-inner') || wrapper;                var slider = wrapper.querySelector('.fv-image-compare-slider');                var fgImage = wrapper.querySelector('.fv-image-compare-fg');                var bgImage = wrapper.querySelector('.fv-image-compare-bg');                var labelLeft = wrapper.querySelector('.fv-image-compare-label-left');                var labelRight = wrapper.querySelector('.fv-image-compare-label-right');                var isDragging = false;                var scale = 1;                var panX = 0;                var panY = 0;                var isPanning = false;                var hasPanned = false;                var lastClientX = 0;                var lastClientY = 0;                var initialDistance = null;                var lastCenterX = null;                var lastCenterY = null;                function updateTransform() {                    if (wrapper.classList.contains('fv-image-compare-fullscreen')) {                        inner.style.setProperty('transform', 'translate(' + panX + 'px, ' + panY + 'px) scale(' + scale + ')', 'important');                    } else {                        inner.style.removeProperty('transform');                        scale = 1;                        panX = 0;                        panY = 0;                    }                }                function constrainPan() {                    var rect = wrapper.getBoundingClientRect();                    var maxPanX = Math.max(0, (rect.width * scale - rect.width) / 2);                    var maxPanY = Math.max(0, (rect.height * scale - rect.height) / 2);                    panX = Math.max(-maxPanX, Math.min(panX, maxPanX));                    panY = Math.max(-maxPanY, Math.min(panY, maxPanY));                }                wrapper.addEventListener('wheel', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    e.preventDefault();                    var zoomSensitivity = 0.005;                    var zoomFactor = Math.exp(-e.deltaY * zoomSensitivity);                    var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                        if (newScale === scale) return;                    var rect = wrapper.getBoundingClientRect();                    var mouseX = e.clientX - rect.left - rect.width / 2;                    var mouseY = e.clientY - rect.top - rect.height / 2;                                        var ratio = newScale / scale;                    panX = mouseX - (mouseX - panX) * ratio;                    panY = mouseY - (mouseY - panY) * ratio;                                        scale = newScale;                    constrainPan();                    updateTransform();                }, { passive: false });                wrapper.addEventListener('mousedown', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen') || scale <= 1) return;                    if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                    isPanning = true;                    hasPanned = false;                    lastClientX = e.clientX;                    lastClientY = e.clientY;                });                window.addEventListener('mousemove', function(e) {                    if (!isPanning) return;                    var dx = e.clientX - lastClientX;                    var dy = e.clientY - lastClientY;                                        if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                        hasPanned = true;                    }                    lastClientX = e.clientX;                    lastClientY = e.clientY;                                        panX += dx;                    panY += dy;                                        constrainPan();                    updateTransform();                });                window.addEventListener('mouseup', function() {                    isPanning = false;                });                wrapper.addEventListener('touchstart', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        initialDistance = Math.sqrt(dx * dx + dy * dy);                                                var rect = wrapper.getBoundingClientRect();                        lastCenterX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                        lastCenterY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                hasPanned = true;                    } else if (e.touches.length === 1 && scale > 1) {                        if (e.target.closest('.fv-image-compare-slider') || e.target.closest('button')) return;                        isPanning = true;                        hasPanned = false;                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                    }                }, { passive: false });                wrapper.addEventListener('touchmove', function(e) {                    if (!wrapper.classList.contains('fv-image-compare-fullscreen')) return;                    if (e.touches.length === 2 && initialDistance !== null) {                        e.preventDefault();                        var dx = e.touches[0].clientX - e.touches[1].clientX;                        var dy = e.touches[0].clientY - e.touches[1].clientY;                        var distance = Math.sqrt(dx * dx + dy * dy);                                                if (initialDistance > 0) {                            var zoomFactor = distance / initialDistance;                            var newScale = Math.max(1, Math.min(scale * zoomFactor, 5));                                                        var rect = wrapper.getBoundingClientRect();                            var centerX = (e.touches[0].clientX + e.touches[1].clientX) / 2 - rect.left - rect.width / 2;                            var centerY = (e.touches[0].clientY + e.touches[1].clientY) / 2 - rect.top - rect.height / 2;                                                        var ratio = newScale / scale;                            panX = centerX - (centerX - panX) * ratio;                            panY = centerY - (centerY - panY) * ratio;                                                        if (lastCenterX !== null && lastCenterY !== null) {                                panX += (centerX - lastCenterX);                                panY += (centerY - lastCenterY);                            }                                                        scale = newScale;                            lastCenterX = centerX;                            lastCenterY = centerY;                            constrainPan();                            updateTransform();                        }                        initialDistance = distance;                    } else if (e.touches.length === 1 && isPanning) {                        e.preventDefault();                        var dx = e.touches[0].clientX - lastClientX;                        var dy = e.touches[0].clientY - lastClientY;                                                if (Math.abs(dx) > 2 || Math.abs(dy) > 2) {                            hasPanned = true;                        }                        lastClientX = e.touches[0].clientX;                        lastClientY = e.touches[0].clientY;                                                panX += dx;                        panY += dy;                                                constrainPan();                        updateTransform();                    }                }, { passive: false });                wrapper.addEventListener('touchend', function(e) {                    if (e.touches.length < 2) {                        initialDistance = null;                    }                    if (e.touches.length === 0) {                        isPanning = false;                    }                });                function handleMove(clientX) {                    var rect = inner.getBoundingClientRect();                    var x = Math.max(0, Math.min(clientX - rect.left, rect.width));                    var percent = Math.max(0, Math.min((x / rect.width) * 100, 100));                                        if (slider) slider.style.setProperty('left', percent + '%', 'important');                    if (fgImage) fgImage.style.setProperty('clip-path', 'polygon(0 0, ' + percent + '% 0, ' + percent + '% 100%, 0 100%)', 'important');                                        if (labelLeft) {                        if (percent < 10) {                            labelLeft.style.setProperty('opacity', '0', 'important');                        } else {                            labelLeft.style.setProperty('opacity', '1', 'important');                        }                    }                    if (labelRight) {                        if (percent > 90) {                            labelRight.style.setProperty('opacity', '0', 'important');                        } else {                            labelRight.style.setProperty('opacity', '1', 'important');                        }                    }                }                function onMouseMove(e) {                    if (!isDragging) return;                    handleMove(e.clientX);                }                function onTouchMove(e) {                    if (!isDragging) return;                    e.preventDefault();                    handleMove(e.touches[0].clientX);                }                function stopDragging() {                    isDragging = false;                    window.removeEventListener('mousemove', onMouseMove);                    window.removeEventListener('mouseup', stopDragging);                    window.removeEventListener('touchmove', onTouchMove);                    window.removeEventListener('touchend', stopDragging);                }                if (slider) {                    var startDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('mousemove', onMouseMove);                        window.addEventListener('mouseup', stopDragging);                    };                    var startTouchDrag = function(clientX) {                        isDragging = true;                        handleMove(clientX);                        window.addEventListener('touchmove', onTouchMove, { passive: false });                        window.addEventListener('touchend', stopDragging);                    };                    slider.addEventListener('mousedown', function(e) {                        e.preventDefault();                        startDrag(e.clientX);                    });                    slider.addEventListener('touchstart', function(e) {                        e.preventDefault();                        startTouchDrag(e.touches[0].clientX);                    }, { passive: false });                }                var expandBtn = wrapper.querySelector('.fv-image-compare-expand-btn');                var closeBtn = wrapper.querySelector('.fv-image-compare-close-btn');                if (expandBtn) {                    if (window !== window.parent) {                        expandBtn.style.display = 'none';                    } else {                        expandBtn.addEventListener('click', function(e) {                            e.stopPropagation();                            wrapper.classList.add('fv-image-compare-fullscreen');                            document.body.style.overflow = 'hidden';                                                        if (fgImage && fgImage.dataset.highresSrc) {                                fgImage.src = fgImage.dataset.highresSrc;                                fgImage.removeAttribute('srcset');                                fgImage.removeAttribute('sizes');                            }                            if (bgImage && bgImage.dataset.highresSrc) {                                bgImage.src = bgImage.dataset.highresSrc;                                bgImage.removeAttribute('srcset');                                bgImage.removeAttribute('sizes');                            }                        });                    }                }                if (closeBtn) {                    closeBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    });                }                                document.addEventListener('keydown', function(e) {                    if (e.key === 'Escape' && wrapper.classList.contains('fv-image-compare-fullscreen')) {                        wrapper.classList.remove('fv-image-compare-fullscreen');                        document.body.style.overflow = '';                        updateTransform();                    }                });            });            /* Shop The Look Hotspots */            var hotspots = chartWrapper.querySelectorAll('.fv-stl-hotspot-btn');            var allProductsModal = chartWrapper.querySelector('.fv-stl-all-products-modal');            var shopAllBtn = chartWrapper.querySelector('.fv-stl-shop-all-btn');            var stlContainer = chartWrapper.querySelector('.fv-stl-container');                        function closeAllModals() {                if (allProductsModal) {                    allProductsModal.classList.remove('is-active');                                        var items = allProductsModal.querySelectorAll('.fv-stl-all-products-item');                    items.forEach(function(item) {                        item.classList.remove('is-highlighted');                    });                    if (stlContainer) {                        setTimeout(function() {                            if (!allProductsModal.classList.contains('is-active')) {                                stlContainer.style.minHeight = '';                                if ('parentIFrame' in window) {                                    window.parentIFrame.size();                                }                            }                        }, 300);                    }                }                hotspots.forEach(function(btn) { btn.setAttribute('aria-expanded', 'false'); });                if ('parentIFrame' in window) {                    window.parentIFrame.size();                }            }            hotspots.forEach(function(btn) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var hotspotId = btn.getAttribute('data-hotspot-id');                    var isExpanded = btn.getAttribute('aria-expanded') === 'true';                                        closeAllModals();                                        if (!isExpanded && allProductsModal) {                        btn.setAttribute('aria-expanded', 'true');                        allProductsModal.classList.add('is-active');                        var container = btn.closest('.fv-stl-container');                        if (container && container.offsetHeight < 450) {                            container.style.minHeight = '450px';                        }                                                var targetItem = allProductsModal.querySelector('.fv-stl-all-products-item[data-product-id="' + hotspotId + '"]');                        if (targetItem) {                            targetItem.classList.add('is-highlighted');                            setTimeout(function() {                                targetItem.scrollIntoView({ behavior: 'smooth', block: 'center' });                            }, 100);                        }                                                if ('parentIFrame' in window) {                            window.parentIFrame.size();                        }                    }                });            });            if (shopAllBtn && allProductsModal) {                shopAllBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    closeAllModals();                    allProductsModal.classList.add('is-active');                    var container = shopAllBtn.closest('.fv-stl-container');                    if (container && container.offsetHeight < 450) {                        container.style.minHeight = '450px';                    }                    if ('parentIFrame' in window) {                        window.parentIFrame.size();                    }                });            }            if (allProductsModal) {                var closeAllBtn = allProductsModal.querySelector('.fv-stl-all-products-close');                if (closeAllBtn) {                    closeAllBtn.addEventListener('click', function(e) {                        e.stopPropagation();                        closeAllModals();                    });                }            }            chartWrapper.addEventListener('click', function(e) {                if (!e.target.closest('.fv-stl-all-products-content')) {                    closeAllModals();                }            });            if (allProductsModal) {                allProductsModal.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-stl-all-products-content')) {                        closeAllModals();                    }                });            }            /* Image Annotation Logic */            var iaNodes = chartWrapper.querySelectorAll('.fv-ia-node-button');            var iaWrapper = chartWrapper.querySelector('.fv-ia-wrapper');            var originalCaption = chartWrapper.querySelector('.fv-original-caption') || captionEl;            var dynamicCaption = chartWrapper.querySelector('.fv-ia-dynamic-caption');            var exploreBtn = chartWrapper.querySelector('.fv-ia-explore-btn');            var currentIaIndex = -1;            function closeAllIANodes() {                iaNodes.forEach(function(btn) { btn.classList.remove('is-active'); });                if (originalCaption) originalCaption.style.display = 'block';                if (dynamicCaption) dynamicCaption.style.display = 'none';            }                        function resetExploreBtn() {                currentIaIndex = -1;                if (exploreBtn) {                    var exploreSpan = exploreBtn.querySelector('span');                    if (exploreSpan) exploreSpan.textContent = 'Explore';                }            }            iaNodes.forEach(function(btn, index) {                btn.addEventListener('click', function(e) {                    e.stopPropagation();                    var isActive = btn.classList.contains('is-active');                    closeAllIANodes();                    if (!isActive) {                        currentIaIndex = index;                        if (exploreBtn) {                            var exploreSpan = exploreBtn.querySelector('span');                            if (exploreSpan) exploreSpan.textContent = 'Next';                        }                        btn.classList.add('is-active');                        if (dynamicCaption) {                            var title = btn.getAttribute('data-title') || '';                            var desc = btn.getAttribute('data-desc') || '';                            dynamicCaption.innerHTML = '';                            var strongTag = document.createElement('strong');                            strongTag.textContent = title;                            dynamicCaption.appendChild(strongTag);                            if (desc) {                                dynamicCaption.appendChild(document.createTextNode(' - ' + desc));                            }                                                        if (originalCaption) originalCaption.style.display = 'none';                            dynamicCaption.style.display = 'block';                                                        if (footerContentEl) footerContentEl.style.display = 'block';                        }                    } else {                        resetExploreBtn();                    }                });            });            if (exploreBtn) {                exploreBtn.addEventListener('click', function(e) {                    e.stopPropagation();                    if (iaNodes.length === 0) return;                                        var nextIndex = currentIaIndex + 1;                    if (nextIndex >= iaNodes.length) {                        closeAllIANodes();                        resetExploreBtn();                    } else {                        currentIaIndex = nextIndex;                        var targetBtn = iaNodes[currentIaIndex];                        if (targetBtn) {                            if (targetBtn.classList.contains('is-active')) {                                targetBtn.click();                            }                            targetBtn.click();                        }                    }                });            }            if (iaWrapper) {                iaWrapper.addEventListener('click', function(e) {                    if (!e.target.closest('.fv-ia-node-button') && !e.target.closest('.fv-ia-explore-btn')) {                        closeAllIANodes();                        resetExploreBtn();                    }                });            }            /* Initial Animation */            chartWrapper._fvAnimate = fvLocalAnimate;            fvLocalAnimate(chartWrapper);            /* Countdown Logic */            var countdownContainer = chartWrapper.querySelector('.fv-countdown-container');            if (countdownContainer) {                var targetDateAttr = countdownContainer.getAttribute('data-target-date');                if (targetDateAttr) {                    var targetDate = new Date(targetDateAttr);                    var pad = function(n) { return (n < 10 ? '0' : '') + n; };                                        var updateCountdown = function() {                        var difference = +targetDate - +new Date();                        var d = 0, h = 0, m = 0, s = 0;                        if (difference > 0) {                            d = Math.floor(difference / (1000 * 60 * 60 * 24));                            h = Math.floor((difference / (1000 * 60 * 60)) % 24);                            m = Math.floor((difference / 1000 / 60) % 60);                            s = Math.floor((difference / 1000) % 60);                        }                                                var daysEl = countdownContainer.querySelector('[data-time="days"]');                        var hoursEl = countdownContainer.querySelector('[data-time="hours"]');                        var minsEl = countdownContainer.querySelector('[data-time="minutes"]');                        var secsEl = countdownContainer.querySelector('[data-time="seconds"]');                                                if (daysEl) daysEl.textContent = d;                        if (hoursEl) hoursEl.textContent = pad(h);                        if (minsEl) minsEl.textContent = pad(m);                        if (secsEl) secsEl.textContent = pad(s);                    };                                        updateCountdown();                    setInterval(updateCountdown, 1000);                }            }        }        if (false) {            var slideshowContainer = document.getElementById(uniqueId + '-slideshow');            if (slideshowContainer) {                var slides = slideshowContainer.querySelectorAll('.fv-slide');                slides.forEach(function(slide) {                    setupWrapper(slide.querySelector('.fv-chart-wrapper'));                });            }                    } else {            setupWrapper(root);        }      }            if (document.readyState === 'loading') {        document.addEventListener('DOMContentLoaded', function() { initialize('fv-chart-1793883030756-48nqkdi61', false); });      } else {        initialize('fv-chart-1793883030756-48nqkdi61', false);      }    })();      </script></div><h2 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-value-for-money"><span>Apple 14-inch MacBook Pro (M6) Review: Value for money</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="sMzuMKLXbWaawBHSTXkWrc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/sMzuMKLXbWaawBHSTXkWrc-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: Jacob Krol/Future)</span></figcaption></figure><p>No, this isn't the headline-grabbing<a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural"> new MacBook Pro with an OLED touchscreen</a> and a thinner, lighter build. Alongside introducing those new models, Apple is sticking with a trend I'm a big fan of: yearly updates that ensure the entry-level MacBook Pro remains a solid proposition, with Apple's latest silicon and other top-end specs under the hood.</p><p>Apple hasn't changed much with the 2026 14-inch MacBook Pro, but it didn't need to. As the entry-level Pro, and a step up from the MacBook Air in terms of specs, it offers more ports in a familiar design that's slightly bulkier than the Air, but still plenty portable. You also get a very capable 14-inch Liquid Retina XDR mini-LED display with a notch at the top, a clicky-clacky keyboard with nice travel, a larger trackpad, and great sound with Spatial Audio and Dolby Atmos support.</p><p>The big change is the M6 chip under the hood, with this model joining the still-available M5 Pro and M5 Max models. Those chips, while older, are more powerful, but don't let the M6 Pro's entry-level positioning fool you: Apple's latest silicon is no slouch, delivering excellent everyday performance with plenty of power for more intensive tasks, including photo and video editing, coding, and AI work.</p><p>I've been using the 14-inch MacBook Pro with M6 for the best part of a week, and it's been smooth sailing. It's handled my daily mix of productivity and creative work in apps like Slack, Safari, Google Chrome, Notes, Pages, Pixelmator Pro, and Final Cut Pro, running alongside Messages and FaceTime, effortlessly, without me needing to quit or close anything. The configuration I'm testing pairs the M6's 12-core CPU — split between two super cores, four performance cores, and six efficiency cores — with a 12-core GPU and Dual 16-core Neural Engine, and the base 16GB of RAM and 1TB of storage.</p><div class="product"><a data-dimension112="c8d43462-d936-11f1-941f-031c3e0b70c6" data-action="Deal Block" data-label="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension48="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="iN7P7td2TRSju3aJpPQXGA" name="value4" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/iN7P7td2TRSju3aJpPQXGA-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d43462-d936-11f1-941f-031c3e0b70c6" data-action="Deal Block" data-label="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension48="Just like the 14-inch MacBook Pro with M5, the new-for-2026 model with M6 starts at $1,999 / 1,999 / AU$3,199. Yes, that M5 model got a price hike earlier this year, but it’s good to see that Apple didn’t push this further, and with this price tag getting you the M6 chip, 16GB of RAM, and 1TB of storage, it's excellent value." data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-design"><span>Apple 14-inch MacBook Pro (M6) Review: Design</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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="Y8zi2fWbTD2o8dt9fmwLsc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/Y8zi2fWbTD2o8dt9fmwLsc-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>Same design as M5 Pro, with plenty of ports</strong></li><li><strong>Excellent 14.2-inch Liquid Retina XDR display with ProMotion</strong></li><li><strong>Comfortable keyboard, oversized trackpad, and 12MP Center Stage camera</strong></li></ul><p>The M6 14-inch MacBook Pro sticks with the well-loved and well-tested design of recent Pro models. It's a little bulkier than the Air on account of its plentiful connectivity options, which include three Thunderbolt 4/USB-C ports, an HDMI port, an SD card slot, a headphone jack, and a MagSafe 3 port.</p><p>It's the same sleek design as the M5, M4, and even M3 versions that came before it. It's a design I know well, and one I use daily myself, and I appreciate that it doesn't feel too light or flimsy, but also not too heavy at just 3.4 pounds. </p><p>It keeps the same overall dimensions as last year's 14-inch Pro at 12.31 x 8.71 x 0.61 inches. You also get the same two color choices, Space Black or Silver; my review model is Silver, and it contrasts quite nicely with the darker, mirrored Apple logo on the rear — unlike the logo on the newly <a href="https://www.techradar.com/computing/macbooks/heres-the-secret-behind-the-return-of-the-illuminated-apple-logo-on-the-back-of-the-new-touchscreen-macbook-pro">redesigned touchscreen MacBook Pro</a>, though, this one doesn't light up.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/HVH3Q6tyPYC3g7UrKpJSrc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/eE3ycmj2VBZB22CsV7vAoc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure></figure><p>The M6 Pro also doesn't pack Apple's fancy <a href="https://www.techradar.com/computing/macbooks/whats-the-tech-inside-the-touchscreen-macbook-pros-proled-xdr-screen-heres-why-the-tandem-oled-panel-is-important">new tandem OLED display</a>, which is a stunner, with especially impressive contrast and the added benefit of not having the notch. The 14.2-inch Liquid Retina XDR display here is no slouch, though, and even with that higher-end model's arrival, this remains one of the best laptop screens on the market.</p><p>It supports refresh rates up to 120Hz thanks to ProMotion, and delivers a 3024 x 1964 resolution with vibrant colors and excellent contrast, including wonderfully inky blacks. I've found it great for photo editing in Photos or <a href="https://www.techradar.com/computing/websites-apps/embargo-9am-et-january-28-2026-i-tried-apple-creator-studio-and-it-feels-like-a-return-to-apples-creative-roots">Pixelmator Pro</a>, video editing in iMovie, CapCut, or Final Cut Pro, streaming videos, FaceTime calls, and even the more straightforward task of writing this review. I always appreciate those inky blacks as I type away.</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="NR7MHfVcdmARaYSqrVtgDc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/NR7MHfVcdmARaYSqrVtgDc-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: Jacob Krol/Future)</span></figcaption></figure><p>I've become used to the rectangular cutout notch centered at the top of the display, and I'm still confident that if you've never experienced it before, any initial annoyance at its presence will quickly fade. I am eyeing the<a href="https://www.techradar.com/computing/macbooks/whats-the-tech-inside-the-touchscreen-macbook-pros-proled-xdr-screen-heres-why-the-tandem-oled-panel-is-important"> pill-shaped Dynamic Island on the more expensive MacBook Pro</a>, but it's really not a necessity. </p><p>Here, the menu bar wraps around the notch, which houses a 12-megapixel Center Stage camera that keeps you in the frame and looking sharp during video calls. It also supports Portrait mode to blur your background, and you can use the edges of the screen as a ring light in low lighting conditions.</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="Er9SH7bv7cjsawKpNZUWvc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/Er9SH7bv7cjsawKpNZUWvc-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: Jacob Krol/Future)</span></figcaption></figure><div class="product"><a data-dimension112="c8d436d8-d936-11f1-8225-c595ffe4c843" data-action="Deal Block" data-label="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension48="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="TxFSCBAzCEeX6xpvqBbnh9" name="design 4" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/TxFSCBAzCEeX6xpvqBbnh9-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d436d8-d936-11f1-8225-c595ffe4c843" data-action="Deal Block" data-label="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension48="The keyboard still offers excellent travel, and a decidedly satisfying typing experience. I've written a few articles on this machine, including this review, and I still appreciate the Touch ID sensor baked into the top-right key. It's handy for unlocking your Mac, authenticating, and Apple Pay transactions. Equally, the oversized trackpad makes navigation easy, whether you're using classic point-and-click controls or gestures." data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-specs"><span>Apple 14-inch MacBook Pro (M6) Review: Specs</span></h3><div ><table><caption>Apple MacBook Pro 14-inch (M6/M5 Pro/M5 Max) specs</caption><thead><tr><th class="firstcol empty" ></th><th  ><p>MacBook Pro 14-inch (M5)</p></th><th  ><p>MacBook Pro 14-inch (M5 Pro)</p></th><th  ><p>MacBook Pro 14-inch (M5 Max)</p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Price</p></td><td  ><p>$1,999 / £1,999 / AU$3,199</p></td><td  ><p>$2,199 / £2,199 / AU$3,499</p></td><td  ><p>$3,599 / £1,999 / AU$5,799</p></td></tr><tr><td class="firstcol " ><p>CPU</p></td><td  ><p>M6 12-core</p></td><td  ><p>M5 Pro 15-core</p></td><td  ><p>M5 Max 18-core</p></td></tr><tr><td class="firstcol " ><p>GPU</p></td><td  ><p>12-core</p></td><td  ><p>16-core</p></td><td  ><p>32-core</p></td></tr><tr><td class="firstcol " ><p>RAM</p></td><td  ><p>16GB unified memory</p></td><td  ><p>24GB unified memory</p></td><td  ><p>36GB unified memory</p></td></tr><tr><td class="firstcol " ><p>Storage</p></td><td  ><p>1TB SSD</p></td><td  ><p>1TB SSD</p></td><td  ><p>2TB SSD</p></td></tr><tr><td class="firstcol " ><p>Display</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td><td  ><p>14-inch Liquid Retina XDR display (3024 x 1964), 120Hz</p></td></tr><tr><td class="firstcol " ><p>Ports</p></td><td  ><p>3x Thunderbolt 4 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td><td  ><p>3x Thunderbolt 5 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td><td  ><p>3x Thunderbolt 5 (USB-C), HDMI, SDXC card slot, 3.5mm headphone jack, MagSafe 3</p></td></tr><tr><td class="firstcol " ><p>Wireless</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td><td  ><p>Wi‑Fi 7 (802.11be), Bluetooth 6, and Thread</p></td></tr><tr><td class="firstcol " ><p>Weight </p></td><td  ><p>3.4 lbs (1.55kg)</p></td><td  ><p>3.5 lbs (1.60kg)</p></td><td  ><p>3.6 lbs (1.62kg)</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td><td  ><p>12.31 x 8.71 x 0.61 inches (31.26 x 22.12 x 1.55cm)</p></td></tr></tbody></table></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-performance"><span>Apple 14-inch MacBook Pro (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="2YkpQA8C7N4PNNYn5DJaic" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/2YkpQA8C7N4PNNYn5DJaic-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>M6 is an excellent chip</strong></li><li><strong>Handles everyday multitasking, creative apps, and gaming with ease</strong></li><li><strong>Apple's N1 chip brings support for latest Wi-Fi and Bluetooth standards</strong></li></ul><p>Any Mac with Apple silicon really pushes the value meter, and the M6 inside the MacBook Pro is no different. But that also means that if you have an M5, M4, M3, or even an older MacBook Pro or <a href="https://www.techradar.com/computing/macbooks/i-upgraded-to-the-macbook-air-m5-at-last-and-boy-is-it-fast">MacBook Air</a>, and its performance is still good enough for your needs, you likely don't need to rush to upgrade just yet.</p><p>The M6 14-inch Pro sits alongside the M5 Pro and M5 Max, and only one chip configuration is available as the entry-level option. It's a 12-core CPU — made up of two super cores, four performance cores, and six efficiency cores — alongside a 12-core GPU and a Dual 16-core Neural Engine. While the M5 Pro and M5 Max can outperform it on the GPU front, those chips don't feature efficiency cores in the CPU or the doubled-up Neural Engine. The M6 starts with 16GB of RAM and 1TB of storage — the configuration I've been testing — but can be specced with up to 32GB of RAM and 4TB of storage.</p><p>So just how good is the M6 chip inside the 14-inch MacBook Pro? Well, quantitatively, it scored 4,752 in Geekbench 6's single-core test and 21,184 in multi-core. In Geekbench 7, it hit 4,027 single-core and 22,305 multi-core. Compare that to the M5-powered 14-inch MacBook Pro, which scored 4,288 and 17,926 in Geekbench 6, respectively. That's a considerable improvement of around 11% in single-core performance and 18% in multi-core. It also shows off the M6's multitasking chops and efficiency, the latter of which is mission-critical for a laptop with a battery inside — more on that below.</p><p>On the storage front, the SSD is largely unchanged. In the Blackmagic Disk Speed Test, the M6 MacBook Pro clocked read speeds of 6,684.6 MB/s and write speeds of 6,501.6 MB/s. That's essentially on par with the M5 model, which managed 6,619.7 MB/s read and 6,517 MB/s write. So, no major improvement here, but not a step backwards either.</p><p>Over the past few days, I've put the 14-inch MacBook Pro with M6 through its paces as my daily machine. I regularly use Slack, Google Chrome, Safari — both browsers with dozens of tabs open, as I don't love closing them — Notes, Photos, Pixelmator Pro, Siri, and Music, alongside Messages and the occasional FaceTime or iPhone Mirroring session. I also put it through some video exports and project-creation work, mainly for social video at 2K or 4K, using iMovie, Final Cut Pro, and Edits. I also spent some time gaming with titles like <em>Mini Metro</em>, <em>Mini Motorways</em>, and <a href="https://www.techradar.com/news/how-disneys-dreamlight-valley-made-me-feel-like-a-kid-again"><em>Disney Dreamlight Valley</em></a>.</p><p>Apple Intelligence is another area where the M6 feels right at home. Siri AI was particularly quick in my testing, especially with multimodal tasks, such as asking it about items on-screen or handling multi-step processes. <a href="https://www.techradar.com/computing/websites-apps/apple-creator-studio-is-getting-even-better-with-new-ai-tools-and-a-big-final-cut-pro-upgrade">Apple's Creator Studio improvements</a> also ran smoothly, including Generative Fill in Pixelmator Pro. These are the kinds of tasks that show off the M6's Neural Engine, and I didn't have to wait around for results. </p><p>Generative Fill in Pixelmator Pro, as part of Creator Studio, is really impressive, and while it can take a beat to process, it's on a par with Photoshop's Generative Fill. Take a look at the example below, where I added a river below a photo of a <a href="https://www.techradar.com/vehicle-tech/hybrid-electric-vehicles/just-silly-enough-to-be-perfect-ive-seen-rivians-ghostbusters-ecto-r1-in-action">Rivian R2</a> in a parking garage.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/wkyRAnBtdaRwohkZGs4Lnc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/qzb2bYnMZ7vMEg4zkVMDqc-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/MfgDn69apDBmq7hXWuA46c-1920-80.jpg" alt="Apple 14-inch MacBook Pro M6 review" /><figcaption><small role="credit">Jacob Krol/Future</small></figcaption></figure></figure><p>With plenty of apps open and a demanding workload running, I did occasionally hear the fans kick in, but never for sustained periods. For the most part, the MacBook Pro remained quiet, even with my usual mix of productivity and creative apps running.</p><p>The M6 doesn't quite beat the <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-14-inch-m5-2025">M5 Pro or M5 Max 14-inch MacBook Pro models</a> for more intensive tasks, like larger video exports. It can certainly hold its own, but those jobs take a little longer, and the fans might kick in along the way. For everyday use and then some, though, whether that's photo or video editing, music creation, or even gaming, the 14-inch MacBook Pro with M6 easily holds its own.</p><p>And that's the case whether you're plugged in or unplugged and running on battery. I didn't notice any performance throttling when switching to battery power, so you can expect the same capable performance without being tethered to an outlet.</p><p>Beyond adding the M6 chip, Apple also upgraded the connectivity specs, with the in-house-made N1 wireless chip bringing support for Wi-Fi 7, Bluetooth 6, and the Thread smart-home standard.</p><div class="product"><a data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="wA9dwiLeVuWMMnEvfdk3zm" name="performance 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/wA9dwiLeVuWMMnEvfdk3zm-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>I’ve found the Pro offers fast connectivity, mostly through my at-home network powered by Eero Pro 6s, and Bluetooth 6 provides a stable connection with my <a href="https://www.techradar.com/phones/airpods-5-and-airpods-5-with-wireless-charging-are-like-a-greatest-hits-rollout-of-airpods-pro-just-without-the-hearing-health-or-heart-rate-modules" data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="">AirPods 5</a>, <a href="https://www.techradar.com/audio/earbuds-airpods/airpods-pro-3-won-me-over-in-less-than-a-week-thanks-to-these-key-upgrades-heres-why">AirPods Pro 3,</a> and <a href="https://www.techradar.com/audio/headphones/beats-360-are-official-with-a-distinct-new-design-and-ive-been-wearing-the-cans-for-weeks">Beats 360</a>.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d437d2-d936-11f1-af72-e3d79e3ca6d8" data-action="Deal Block" data-label="AirPods 5" data-dimension48="AirPods 5" data-dimension25="">View Deal</a></p></div><h3 class="article-body__section" id="section-apple-14-inch-macbook-pro-m6-review-battery-life"><span>Apple 14-inch MacBook Pro (M6) Review: 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:2560px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="HVH3Q6tyPYC3g7UrKpJSrc" name="Apple 14-inch MacBook Pro M6 review" alt="Apple 14-inch MacBook Pro M6 review" src="https://cdn.mos.cms.futurecdn.net/HVH3Q6tyPYC3g7UrKpJSrc-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: Jacob Krol/Future)</span></figcaption></figure><ul><li><strong>All-day battery life</strong></li><li><strong>Beats Apple's own web-browsing estimate of 16 hours</strong></li><li><strong>Lasted an impressive 19 hours and 5 minutes in our browsing test</strong></li></ul><p>Unsurprisingly, the 14-inch MacBook Pro remains a battery-life champ with the M6 inside. Since Apple switched to its own in-house chips, performance, efficiency, and battery life have all improved compared to its previous Intel-powered laptops.</p><p>The M6 model features a 72.4-watt-hour lithium-polymer battery like the M5 before it, with Apple promising up to 24 hours of video playback, 16 hours of web browsing, and, as always, "all-day battery life." You can still charge it either with MagSafe — Apple includes a USB-C to MagSafe cable in the box — or via USB-C.</p><p>Even with pretty heavy use, the 14-inch MacBook Pro can comfortably last a full workday, and might stretch to multiple days without charging, depending on what you're doing. That's seriously impressive — and as I noted above, performance stays fast whether you're plugged in or running on battery.</p><div class="product"><a data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" target="_blank" rel="nofollow"><figure class="van-image-figure "  ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:374px;"><p class="vanilla-image-block" style="padding-top:98.93%;"><img id="39VPGi2xkBD3ZbnQSZzz6h" name="battery 4.5 stars" caption="" alt="" src="https://cdn.mos.cms.futurecdn.net/39VPGi2xkBD3ZbnQSZzz6h-1920-80.png" mos="" align="middle" fullscreen="" width="374" height="370" attribution="" endorsement="" credit="" class="" /></p></div></div></figure></a><p>In the TechRadar and Future PLC labs test, the 14-inch MacBook Pro with M6 lasted an impressive 19 hours, 5 minutes, and 30 seconds in our web-browsing test. That's a fantastic result, beating Apple's own 16-hour web browsing estimate, and around 50 minutes longer than the previous <a href="https://www.techradar.com/computing/macbooks/apple-macbook-pro-14-inch-m5-2025" data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" data-dimension25="">M5-powered 14-inch MacBook Pro</a>.<a class="view-deal button" href="" target="_blank" rel="nofollow" data-dimension112="c8d438c2-d936-11f1-b7e8-1ba5584589c0" data-action="Deal Block" data-label="M5-powered 14-inch MacBook Pro" data-dimension48="M5-powered 14-inch MacBook Pro" data-dimension25="">View Deal</a></p></div><h2 class="article-body__section" id="section-should-i-buy-the-apple-14-inch-macbook-pro-with-m6"><span>Should I buy the Apple 14-inch MacBook Pro with M6?</span></h2><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Buy the 14-inch MacBook Pro with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>✅ You're ready for an M-series MacBook Pro</strong></p></div><div class="card__description"><p>You get the modern MacBook Pro experience, plenty of performance from the M6 paired with 16GB of RAM and 1TB of storage to start, an excellent display, and long battery life. If you're still holding onto an Intel-powered MacBook Pro, now is an excellent time to make the jump to Apple silicon.</p></div><div class="card__description"><p><br /><strong>✅ You want excellent performance and battery life</strong></p></div><div class="card__description"><p>The M6 handles creative workloads with ease, and the 14-inch MacBook Pro lasted over 19 hours in our web-browsing test.</p></div></div></div></div><div class="card card--standard card--rows-2 card--align-inline"><div class="card__content"><h3 class="card__title">Don&#39;t buy the 14-inch MacBook Pro with M6 if...</h3><div class="card__description-wrapper"><div class="card__description"><p><strong>❌ You need a bigger screen</strong></p></div><div class="card__description"><p>If you want a bigger screen you'd be better off looking at the 15-inch MacBook Air, 16-inch MacBook Pro, or the 16-inch MacBook Pro with PROLED XDR Display.</p></div><div class="card__description"><p><br /><strong>❌ You need the most powerful MacBook Pro</strong></p></div><div class="card__description"><p>Since this only has the M6 inside, those who need even more performance — say, to run powerful AI models on-device or handle more creative, intensive tasks — should look at the M5 Pro or M5 Max MacBook Pros, available with or without the PROLED XDR Display.</p></div></div></div></div><h2 class="article-body__section" id="section-how-i-tested-the-apple-14-inch-macbook-pro-with-m6"><span>How I tested the Apple 14-inch MacBook Pro with M6</span></h2><p>I spent five days using the 14-inch MacBook Pro with M6 as one of my daily work machines, taking it through the kind of workload I'd typically throw at my own MacBook. That meant plenty of writing, editing, and multitasking, with dozens of tabs open across Safari and Chrome, with Slack, Notes, Messages, and other everyday apps running alongside creative tools like Pixelmator Pro.</p><p>I also tested how well the M6 handled more demanding tasks, including video exports, Apple Intelligence features, and gaming. I compared its performance with the M5 Pro-powered 14-inch MacBook Pro and an M4 14-inch MacBook Pro, and I also used it plugged in and on battery to see whether performance changed when untethered.</p><p><em>First reviewed November 2026.</em></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Redditor fudges DLSS 5 to work on GTA 6 trailer — and it looks impressive ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>A gamer took the GTA 6 'extended look' trailer and fudged it to work with DLSS 5 and Frame Generation</strong></li><li><strong>The results posted on YouTube look impressive, albeit with some notable glitches</strong></li><li><strong>It'll actually be possible to run the game on console, piped through a PC with an Nvidia GPU to add DLSS 5 and other visual trickery, at the cost of some input lag </strong></li><li><strong>…and some believe that trade-off might be worth it</strong></li></ul><p>Will the best way to <a href="https://www.techradar.com/gaming/gta-6-digital-pre-loads-for-ps5-and-xbox-will-begin-9-days-early-and-require-a-whopping-212gb-of-free-space">play GTA 6 at launch</a> be to pipe it from your PS5 to your PC with an Nvidia GPU and then back out to your TV? </p><p>No, it absolutely won't, but a convoluted setup along these lines could be the optimal way to experience the game visually (with some major caveats) — before the PC version arrives — given that you can fudge the addition of DLSS 5 this way.</p><p>How does this work? <a href="https://wccftech.com/gta-6-pc-release-date-nvidia-dlss-5-realistic/" target="_blank">Wccftech picked up</a> the story of the <a href="https://www.reddit.com/r/GTA6unmoderated/comments/1xkb9gq/gta_vi_extended_look_with_dlss_5_fg_3_30_90_fps/" target="_blank">Redditor who proposed</a> this experiment, and actually applied DLSS 5 to the GTA 6 'extended look' trailer that Rockstar brought out a couple of months ago.</p><p>To be specific, this gamer gave the trailer a DLSS 5 makeover with 3x Frame Generation tripling the frame rate from 30 fps to 90 fps, via an app called Veyra, which is a <a href="https://github.com/Likely7/Veyra-NRVideo">GPU video enhancement tool</a> for Windows on GitHub.</p><p>The Redditor explains: "I used Veyra 2.1.1, a tool that can take a video source (video files, capture cards, Remote Play) and apply Neural Rendering [DLSS 5], upscaling, and Frame Generation in real time. I also integrated MFG Unlocker into it so I can unlock Multi Frame Generation on my RTX 4080 and experiment with 3x/4x FG on 40-series cards."</p><p><a href="https://github.com/dashdogy/MFG-Unlocker" target="_blank">MFG Unlocker</a> is an experimental tool (again on GitHub) which the Redditor is using for getting Multi Frame Generation on their RTX 4080, in case you were wondering. (As ever, download any third-party software entirely at your own risk).</p><p>As you can see in the YouTube clip below, the results of this polishing of the official trailer are very impressive in some ways. That said, there are clear issues with artifacts and glitching in terms of the characters and lighting, with the best results seen in the background environment details.</p><p>It's pretty remarkable given that this is a fairly aggressive implementation of DLSS 5 by all accounts, fudged on top of a video with no relevant game data (the likes of vector and geometry data) to guide the neural rendering.</p><p>The Redditor's plan is to use a console-to-PC pipeline to play GTA 6 on the PS5, with the PC effectively sitting between the console and final output on the TV, adding DLSS 5 and jazzing up the visuals.</p><p>This means taking the PS5 and hooking it up to a 4K HDR capture card in the PC, running it through Veyra with the RTX 4080, then outputting to the 4K TV. It's a roundabout way of using the Nvidia <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">GPU</a> as an external graphics card for the console, except all the GeForce GPU is doing is applying DLSS and/or MFG to the image the PS5 has rendered — although there is a price to pay in terms of input lag, of course.</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/AznGWDkXKi0" allowfullscreen=""></iframe></div></div><h2 id="analysis-capture-capers">Analysis: capture capers</h2><p>The Redditor doesn't actually have their PS5 yet (although they've ordered it) to try out this setup fully, but others on Reddit have run such a setup, and in fact it's not that uncommon (albeit still far from a mainstream concept).</p><p><a href="https://www.reddit.com/r/GTA6unmoderated/comments/1xkb9gq/comment/19rxyknu1ieps/" target="_blank">One gamer says</a> that they've played GTA 5 using an Elgato capture card with NitLink software, and "the gameplay was 100 times better", and while "there is a noticeable input lag" they claim that "it's completely acceptable — around 1-2 milliseconds."</p><p>That little input lag seems a stretch (to say the least), and overall, there's some dispute on whether this way of gaming is viable. Some gamers say that such a setup is just too laggy, while others claim it provides a decently playable experience. Of course, it will depend on what type of game you're playing — a fast-reaction shooter, for example, isn't going to do well with any extra lag being introduced, and you're certainly going to get some.</p><p>Really, the success of this kind of console to PC capture card to TV setup is going to heavily depend on a number of factors. The quality of the capture card (a PCIe board would be best, rather than one connected via USB) and the related software are the primary factors, and by all accounts, a higher-end Elgato with NitLink gives you a good chance of enjoying your PS5 games with an Nvidia GPU souping them up using DLSS 5 and Frame Generation.</p><p>I'm betting there will also be an element of subjectivity here, too, with some people likely to feel any latency more keenly than others.</p><p>Some gamers use this setup to play PS5 games on their PC monitor (in other words, without piping the image back out of the PC to the living room TV, which would cut down on some of the input lag), and there are guides to running this kind of setup on YouTube, <a href="https://www.youtube.com/watch?v=82Km2DNeD3U" target="_blank">like this one</a>. Others recommend <a href="https://www.youtube.com/watch?v=eYWw25Fwg7E" target="_blank">Zanit's tutorials on YouTube</a>, but those videos are in Portuguese, so you'll need to translate them if you're not a native speaker. It's pretty cool stuff, if rather convoluted — and a <a href="https://www.techradar.com/best/best-capture-cards">good capture card</a> doesn't come cheap (neither does a high-end RTX 5000 GPU).</p><p>Meanwhile, as far as GTA 6 on the PC goes, we may see this <a href="https://www.techradar.com/gaming/gta-6-will-reportedly-launch-on-pc-in-early-2027-and-fans-believe-its-so-rockstar-can-avoid-clashing-with-the-ps5-emulator-breathing-down-their-necks">happen a lot sooner than expected</a>, due to the way the emulation scene is going right now (in turbo mode thanks to AI). In other words, Rockstar may want to get the PC port on sale before PC gamers start playing it via emulation.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/gpu/want-to-play-gta-6-with-dlss-5-at-launch-its-possible-to-pipe-your-console-through-a-gaming-pc-to-do-this-and-weve-just-caught-a-glimpse-of-what-itd-look-like</link>
                                                                            <description>
                            <![CDATA[ GTA 6 trailer with DLSS 5 fudged on looks smart — and it appears to be tempting PS5 owners to try an unusual hook-up with a gaming PC. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">oNCTaYnmPihVnHsNFfzMLG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pW9wEGWMiuJAFSfDDBMXkJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 13:16:28 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[GPU]]></category>
                                                    <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Gaming Industry]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                    <category><![CDATA[Gaming Computers]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pW9wEGWMiuJAFSfDDBMXkJ-1920-80.jpg">
                                                            <media:credit><![CDATA[Rockstar Games]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[GTA 6]]></media:description>                                                            <media:text><![CDATA[GTA 6]]></media:text>
                                <media:title type="plain"><![CDATA[GTA 6]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pW9wEGWMiuJAFSfDDBMXkJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>A gamer took the GTA 6 'extended look' trailer and fudged it to work with DLSS 5 and Frame Generation</strong></li><li><strong>The results posted on YouTube look impressive, albeit with some notable glitches</strong></li><li><strong>It'll actually be possible to run the game on console, piped through a PC with an Nvidia GPU to add DLSS 5 and other visual trickery, at the cost of some input lag </strong></li><li><strong>…and some believe that trade-off might be worth it</strong></li></ul><p>Will the best way to <a href="https://www.techradar.com/gaming/gta-6-digital-pre-loads-for-ps5-and-xbox-will-begin-9-days-early-and-require-a-whopping-212gb-of-free-space">play GTA 6 at launch</a> be to pipe it from your PS5 to your PC with an Nvidia GPU and then back out to your TV? </p><p>No, it absolutely won't, but a convoluted setup along these lines could be the optimal way to experience the game visually (with some major caveats) — before the PC version arrives — given that you can fudge the addition of DLSS 5 this way.</p><p>How does this work? <a href="https://wccftech.com/gta-6-pc-release-date-nvidia-dlss-5-realistic/" target="_blank">Wccftech picked up</a> the story of the <a href="https://www.reddit.com/r/GTA6unmoderated/comments/1xkb9gq/gta_vi_extended_look_with_dlss_5_fg_3_30_90_fps/" target="_blank">Redditor who proposed</a> this experiment, and actually applied DLSS 5 to the GTA 6 'extended look' trailer that Rockstar brought out a couple of months ago.</p><p>To be specific, this gamer gave the trailer a DLSS 5 makeover with 3x Frame Generation tripling the frame rate from 30 fps to 90 fps, via an app called Veyra, which is a <a href="https://github.com/Likely7/Veyra-NRVideo">GPU video enhancement tool</a> for Windows on GitHub.</p><p>The Redditor explains: "I used Veyra 2.1.1, a tool that can take a video source (video files, capture cards, Remote Play) and apply Neural Rendering [DLSS 5], upscaling, and Frame Generation in real time. I also integrated MFG Unlocker into it so I can unlock Multi Frame Generation on my RTX 4080 and experiment with 3x/4x FG on 40-series cards."</p><p><a href="https://github.com/dashdogy/MFG-Unlocker" target="_blank">MFG Unlocker</a> is an experimental tool (again on GitHub) which the Redditor is using for getting Multi Frame Generation on their RTX 4080, in case you were wondering. (As ever, download any third-party software entirely at your own risk).</p><p>As you can see in the YouTube clip below, the results of this polishing of the official trailer are very impressive in some ways. That said, there are clear issues with artifacts and glitching in terms of the characters and lighting, with the best results seen in the background environment details.</p><p>It's pretty remarkable given that this is a fairly aggressive implementation of DLSS 5 by all accounts, fudged on top of a video with no relevant game data (the likes of vector and geometry data) to guide the neural rendering.</p><p>The Redditor's plan is to use a console-to-PC pipeline to play GTA 6 on the PS5, with the PC effectively sitting between the console and final output on the TV, adding DLSS 5 and jazzing up the visuals.</p><p>This means taking the PS5 and hooking it up to a 4K HDR capture card in the PC, running it through Veyra with the RTX 4080, then outputting to the 4K TV. It's a roundabout way of using the Nvidia <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">GPU</a> as an external graphics card for the console, except all the GeForce GPU is doing is applying DLSS and/or MFG to the image the PS5 has rendered — although there is a price to pay in terms of input lag, of course.</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/AznGWDkXKi0" allowfullscreen=""></iframe></div></div><h2 id="analysis-capture-capers">Analysis: capture capers</h2><p>The Redditor doesn't actually have their PS5 yet (although they've ordered it) to try out this setup fully, but others on Reddit have run such a setup, and in fact it's not that uncommon (albeit still far from a mainstream concept).</p><p><a href="https://www.reddit.com/r/GTA6unmoderated/comments/1xkb9gq/comment/19rxyknu1ieps/" target="_blank">One gamer says</a> that they've played GTA 5 using an Elgato capture card with NitLink software, and "the gameplay was 100 times better", and while "there is a noticeable input lag" they claim that "it's completely acceptable — around 1-2 milliseconds."</p><p>That little input lag seems a stretch (to say the least), and overall, there's some dispute on whether this way of gaming is viable. Some gamers say that such a setup is just too laggy, while others claim it provides a decently playable experience. Of course, it will depend on what type of game you're playing — a fast-reaction shooter, for example, isn't going to do well with any extra lag being introduced, and you're certainly going to get some.</p><p>Really, the success of this kind of console to PC capture card to TV setup is going to heavily depend on a number of factors. The quality of the capture card (a PCIe board would be best, rather than one connected via USB) and the related software are the primary factors, and by all accounts, a higher-end Elgato with NitLink gives you a good chance of enjoying your PS5 games with an Nvidia GPU souping them up using DLSS 5 and Frame Generation.</p><p>I'm betting there will also be an element of subjectivity here, too, with some people likely to feel any latency more keenly than others.</p><p>Some gamers use this setup to play PS5 games on their PC monitor (in other words, without piping the image back out of the PC to the living room TV, which would cut down on some of the input lag), and there are guides to running this kind of setup on YouTube, <a href="https://www.youtube.com/watch?v=82Km2DNeD3U" target="_blank">like this one</a>. Others recommend <a href="https://www.youtube.com/watch?v=eYWw25Fwg7E" target="_blank">Zanit's tutorials on YouTube</a>, but those videos are in Portuguese, so you'll need to translate them if you're not a native speaker. It's pretty cool stuff, if rather convoluted — and a <a href="https://www.techradar.com/best/best-capture-cards">good capture card</a> doesn't come cheap (neither does a high-end RTX 5000 GPU).</p><p>Meanwhile, as far as GTA 6 on the PC goes, we may see this <a href="https://www.techradar.com/gaming/gta-6-will-reportedly-launch-on-pc-in-early-2027-and-fans-believe-its-so-rockstar-can-avoid-clashing-with-the-ps5-emulator-breathing-down-their-necks">happen a lot sooner than expected</a>, due to the way the emulation scene is going right now (in turbo mode thanks to AI). In other words, Rockstar may want to get the PC port on sale before PC gamers start playing it via emulation.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Putting the 'ban' in Meta Ray-Ban: the UK mulls restrictions on smart glasses ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The UK is the latest country to consider restricting the use and sale of smart glasses</strong></li><li><strong>Safeguarding minister Satvir Kaur said "the government is looking into options to restrict smart glasses in certain settings and restricting the sale to certain users"</strong></li><li><strong>During a debate around the technology, concerns were raised around the discreet filming of women and girls</strong></li></ul><p>As the adoption of smart glasses increases across the world, so too have restrictions and bans on the technology from businesses and governments alike. <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/we-dont-want-whats-happening-in-the-us-to-happen-here-australias-smart-glasses-ban-extends-to-even-more-public-areas">Australia has banned the tech in public spaces</a> such as pools, gyms and government buildings, and now the UK government is also considering implementing restrictions. </p><p>The devices have become unpopular in many circles, even earning the nickname '<a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-has-a-fresh-update-to-stop-people-from-turning-meta-smart-glasses-into-pervert-glasses-and-the-updates-will-keep-coming">pervert glasses</a>' after some men began using them to secretly film women and girls, then posting the captured videos online. <a href="https://www.techradar.com/vpn/vpn-privacy-security/forget-weatherspoons-patchwork-bans-wont-fix-the-meta-glasses-privacy-crisis-so-what-comes-next">Some private businesses, such as the Wetherspoons British bar chain</a>, have also banned the use of the devices. </p><p>In a debate at Westminster Hall titled <a href="https://commonslibrary.parliament.uk/research-briefings/cbp-12260/" target="_blank">'Smart glasses and violence against women and girls'</a>, UK safeguarding minister Satvir Kaur said (as reported by <a href="https://www.theguardian.com/uk-news/2026/nov/04/uk-government-considers-smart-glasses-ban-over-secret-filming-concerns" target="_blank"><em>The Guardian</em></a>): “the benefits of smart glasses must be weighed against the harms they can cause. The government is already looking into options to restrict smart glasses in certain settings and restricting the sale to certain users.”</p><p>This might be similar to Australia's ban on the technology being used in public spaces. Kaur also highlighted that “other settings, such as healthcare and education, have existing safeguarding or professional policies that are relevant to smart glasses and any kind of digital recording." Kaur seemed to be hinting that where limitations on recording on smartphones already exist, this would extend to smart glasses and similar tech, but we could also see wider smart glasses-specific rules in future. </p><p>Anna Sabine, the Liberal Democrat MP who opened the debate, reportedly said: “Women are reporting waking up after nights out to find videos of themselves have gone viral online, filmed without their knowledge or consent by men wearing smart glasses... these devices not only have the potential to erode safety and privacy in public spaces, but raise really important questions about consent.”</p><h2 id="analysis-more-restrictions-will-surely-follow">Analysis: More restrictions will surely follow</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3864px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="CBh8gkDtZ28KcQbxigZrdm" name="GettyImages-2180666080" alt="A man holding a pair of smart glasses" src="https://cdn.mos.cms.futurecdn.net/CBh8gkDtZ28KcQbxigZrdm-1920-80.jpg" mos="" align="middle" fullscreen="" width="3864" height="2174" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / China News Service)</span></figcaption></figure><p>Kaur did also highlight the useful aspect of smart glasses, such as helping visually or hearing-impaired people understand their surroundings. For those people, she said "smart glasses have been a game-changer, helping them navigate the world around them.” </p><p>Our writer Kevin Lynch, who has a hearing impairment, <a href="https://www.techradar.com/health-fitness/nuance-audio-hearing-glasses-review">reviewed the Nuance Audio smart specs equipped with directional microphones</a>, which he said were 'genuinely impactful'. It's likely any incoming legislation would allow for this usage.</p><p>However, there's no getting around the harmful uses of smart glasses too. A secondary cottage industry of Amazon sellers hocking black stickers, sized to cover the LED recording light, or offering to drill it out entirely, has sprung up online. This is all to enable people to record footage without letting others know they're doing so. </p><p>With the invasive potential of smart glasses to target women and post the footage online, companies like Meta are left with a clear stigma they'll have to shake before <a href="https://www.techradar.com/health-fitness/wearable-tech-used-to-be-cool-but-it-is-slowly-becoming-a-symbol-of-surveillance-capitalism-dreck-heres-how-to-save-it">smart glasses can be seen as cool</a>. </p><p>Prosecutors in Paris have also opened probes into smart glasses-related sexual harassment offenses, according to the French national newspaper <a href="https://www.lemonde.fr/en/pixels/article/2026/09/22/paris-prosecutors-launch-probes-into-non-consensual-filming-of-women-with-smart-glasses_6757829_13.html"><em>Le Monde</em></a>. I predict Australia won't be the only country to adopt legislation that restricts the sale or usage of smart glasses in 2027.  </p><p><em>Do you think smart glasses should be banned, or should we be free to record wherever we like? Have your say in our poll below. </em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORQBzW"></div>                            </div>                            <script src="https://kwizly.com/embed/ORQBzW.js" async=""></script> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/virtual-reality-augmented-reality/putting-the-ban-in-meta-ray-ban-the-uk-is-considering-placing-restrictions-on-smart-glasses-sales-as-the-government-is-already-looking-into-options-to-curb-the-secret-filming-of-women</link>
                                                                            <description>
                            <![CDATA[ After Australia expanded its smart glasses restrictions earlier this year, it could soon be the UK's turn. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">qi9dQZemEW7h9FB7GYRCjZ</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5sgNjzykmW589EQNZzSLkT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 12:27:34 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Nov 2026 14:07:20 +0000</updated>
                                                                                                                                            <category><![CDATA[Virtual Reality & Augmented Reality]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ matt.evans@futurenet.com (Matt Evans) ]]></author>                    <dc:creator><![CDATA[ Matt Evans ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/PC6SDeYdcjEPS4ES8uLSDU-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5sgNjzykmW589EQNZzSLkT-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Alexander Fedosov]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Meta Ray Ban glasses being worn.]]></media:description>                                                            <media:text><![CDATA[Meta Ray Ban glasses being worn.]]></media:text>
                                <media:title type="plain"><![CDATA[Meta Ray Ban glasses being worn.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5sgNjzykmW589EQNZzSLkT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The UK is the latest country to consider restricting the use and sale of smart glasses</strong></li><li><strong>Safeguarding minister Satvir Kaur said "the government is looking into options to restrict smart glasses in certain settings and restricting the sale to certain users"</strong></li><li><strong>During a debate around the technology, concerns were raised around the discreet filming of women and girls</strong></li></ul><p>As the adoption of smart glasses increases across the world, so too have restrictions and bans on the technology from businesses and governments alike. <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/we-dont-want-whats-happening-in-the-us-to-happen-here-australias-smart-glasses-ban-extends-to-even-more-public-areas">Australia has banned the tech in public spaces</a> such as pools, gyms and government buildings, and now the UK government is also considering implementing restrictions. </p><p>The devices have become unpopular in many circles, even earning the nickname '<a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-has-a-fresh-update-to-stop-people-from-turning-meta-smart-glasses-into-pervert-glasses-and-the-updates-will-keep-coming">pervert glasses</a>' after some men began using them to secretly film women and girls, then posting the captured videos online. <a href="https://www.techradar.com/vpn/vpn-privacy-security/forget-weatherspoons-patchwork-bans-wont-fix-the-meta-glasses-privacy-crisis-so-what-comes-next">Some private businesses, such as the Wetherspoons British bar chain</a>, have also banned the use of the devices. </p><p>In a debate at Westminster Hall titled <a href="https://commonslibrary.parliament.uk/research-briefings/cbp-12260/" target="_blank">'Smart glasses and violence against women and girls'</a>, UK safeguarding minister Satvir Kaur said (as reported by <a href="https://www.theguardian.com/uk-news/2026/nov/04/uk-government-considers-smart-glasses-ban-over-secret-filming-concerns" target="_blank"><em>The Guardian</em></a>): “the benefits of smart glasses must be weighed against the harms they can cause. The government is already looking into options to restrict smart glasses in certain settings and restricting the sale to certain users.”</p><p>This might be similar to Australia's ban on the technology being used in public spaces. Kaur also highlighted that “other settings, such as healthcare and education, have existing safeguarding or professional policies that are relevant to smart glasses and any kind of digital recording." Kaur seemed to be hinting that where limitations on recording on smartphones already exist, this would extend to smart glasses and similar tech, but we could also see wider smart glasses-specific rules in future. </p><p>Anna Sabine, the Liberal Democrat MP who opened the debate, reportedly said: “Women are reporting waking up after nights out to find videos of themselves have gone viral online, filmed without their knowledge or consent by men wearing smart glasses... these devices not only have the potential to erode safety and privacy in public spaces, but raise really important questions about consent.”</p><h2 id="analysis-more-restrictions-will-surely-follow">Analysis: More restrictions will surely follow</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:3864px;"><p class="vanilla-image-block" style="padding-top:56.26%;"><img id="CBh8gkDtZ28KcQbxigZrdm" name="GettyImages-2180666080" alt="A man holding a pair of smart glasses" src="https://cdn.mos.cms.futurecdn.net/CBh8gkDtZ28KcQbxigZrdm-1920-80.jpg" mos="" align="middle" fullscreen="" width="3864" height="2174" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images / China News Service)</span></figcaption></figure><p>Kaur did also highlight the useful aspect of smart glasses, such as helping visually or hearing-impaired people understand their surroundings. For those people, she said "smart glasses have been a game-changer, helping them navigate the world around them.” </p><p>Our writer Kevin Lynch, who has a hearing impairment, <a href="https://www.techradar.com/health-fitness/nuance-audio-hearing-glasses-review">reviewed the Nuance Audio smart specs equipped with directional microphones</a>, which he said were 'genuinely impactful'. It's likely any incoming legislation would allow for this usage.</p><p>However, there's no getting around the harmful uses of smart glasses too. A secondary cottage industry of Amazon sellers hocking black stickers, sized to cover the LED recording light, or offering to drill it out entirely, has sprung up online. This is all to enable people to record footage without letting others know they're doing so. </p><p>With the invasive potential of smart glasses to target women and post the footage online, companies like Meta are left with a clear stigma they'll have to shake before <a href="https://www.techradar.com/health-fitness/wearable-tech-used-to-be-cool-but-it-is-slowly-becoming-a-symbol-of-surveillance-capitalism-dreck-heres-how-to-save-it">smart glasses can be seen as cool</a>. </p><p>Prosecutors in Paris have also opened probes into smart glasses-related sexual harassment offenses, according to the French national newspaper <a href="https://www.lemonde.fr/en/pixels/article/2026/09/22/paris-prosecutors-launch-probes-into-non-consensual-filming-of-women-with-smart-glasses_6757829_13.html"><em>Le Monde</em></a>. I predict Australia won't be the only country to adopt legislation that restricts the sale or usage of smart glasses in 2027.  </p><p><em>Do you think smart glasses should be banned, or should we be free to record wherever we like? Have your say in our poll below. </em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-ORQBzW"></div>                            </div>                            <script src="https://kwizly.com/embed/ORQBzW.js" async=""></script>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Most companies don't think they could leave their main cloud provider quickly should the worst happen ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Businesses are starting to recognize that they're locked into vendors from all angles</strong></li><li><strong>AI could add yet another element to keep customers locked into providers</strong></li><li><strong>Four in five have already taken action to move, many would even pay a premium</strong></li></ul><p>Nine in 10 (89%) businesses admit they couldn't migrate business-critical workloads away from their primary cloud provider within three weeks if it came to it evidencing widespread vendor lock-in challenges.</p><p>New Leaseweb research found more than half (55%) said it would take longer than three months, not weeks – or that it wouldn't even be possible.</p><p>But this reality contrasts with a false perception of control – three in four (76%) of the 800 surveyed C-suite leaders feel they have 'complete' or 'high' control over their ability to move data to another provider.</p><h2 id="cloud-lock-in-is-more-widespread-than-businesses-perceive">Cloud lock-in is more widespread than businesses perceive</h2><p>One of the biggest challenges cited in the Leaseweb report centers around applications built to a particular provider's infrastructure – while the customer may retain control over their data, picking up and moving that application to another cloud provider isn't so simple.</p><p>But despite best efforts to level the playing field, improve interoperability and eliminate vendor lock-in, many European countries are still struggling on this front. The Netherlands reported the longest average migration time, at 4.7 months.</p><p>Looking ahead, four in five (79%) business leaders expect things to get worse through AI adoption, because buying into specific AI tools would increase their dependence on a small number of providers.</p><h2 id="cloud-infrastructure-is-undergoing-a-global-change">Cloud infrastructure is undergoing a global change</h2><p>Leaseweb also noted that geopolitical tensions are continuing to reshape the cloud landscape, with four in five (78%) businesses already having taken action to reduce their reliance on a provider.</p><p>Interestingly, while the EU leads many discussions around digital sovereignty, it was the US that saw the highest proportion (91%) of businesses taking action.</p><p>Crucially, businesses are clearly willing to pay a premium to have greater control over their infrastructure, with the average business prepared to pay 16% more.</p><p>Still, Leaseweb is warning businesses that they have less control than they think they have. "With AI expected to tie businesses even more closely to a small number of providers, leaders need to understand and act on those dependencies now, not when a pricing change or geopolitical shift forces their hand," co-CEO Lex Boost wrote.</p><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="diM9tpwF2Lz85R8q85CT78" name="tr-g_news" alt="Google logo on a black background next to text reading 'Click to follow TechRadar'" src="https://cdn.mos.cms.futurecdn.net/diM9tpwF2Lz85R8q85CT78-1920-80.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline" /></p></div></div></figure> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/most-companies-dont-think-they-could-leave-their-main-cloud-provider-quickly-should-the-worst-happen</link>
                                                                            <description>
                            <![CDATA[ Customers feel largely in control about their data, but picking up an app and moving it to a different provider is a whole other issue. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">i62SePL9FBY7CdTwLDJD5N</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RXjTpHQERsFQaUFEMYn96f-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 12:25:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Cloud Computing]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Craig Hale ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/GV8qRsHBkpSAQxiYKjTt6H-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/RXjTpHQERsFQaUFEMYn96f-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock/ZinetroN]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A graphic image of a cloud set in a digital background.]]></media:description>                                                            <media:text><![CDATA[A graphic image of a cloud set in a digital background.]]></media:text>
                                <media:title type="plain"><![CDATA[A graphic image of a cloud set in a digital background.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RXjTpHQERsFQaUFEMYn96f-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Businesses are starting to recognize that they're locked into vendors from all angles</strong></li><li><strong>AI could add yet another element to keep customers locked into providers</strong></li><li><strong>Four in five have already taken action to move, many would even pay a premium</strong></li></ul><p>Nine in 10 (89%) businesses admit they couldn't migrate business-critical workloads away from their primary cloud provider within three weeks if it came to it evidencing widespread vendor lock-in challenges.</p><p>New Leaseweb research found more than half (55%) said it would take longer than three months, not weeks – or that it wouldn't even be possible.</p><p>But this reality contrasts with a false perception of control – three in four (76%) of the 800 surveyed C-suite leaders feel they have 'complete' or 'high' control over their ability to move data to another provider.</p><h2 id="cloud-lock-in-is-more-widespread-than-businesses-perceive">Cloud lock-in is more widespread than businesses perceive</h2><p>One of the biggest challenges cited in the Leaseweb report centers around applications built to a particular provider's infrastructure – while the customer may retain control over their data, picking up and moving that application to another cloud provider isn't so simple.</p><p>But despite best efforts to level the playing field, improve interoperability and eliminate vendor lock-in, many European countries are still struggling on this front. The Netherlands reported the longest average migration time, at 4.7 months.</p><p>Looking ahead, four in five (79%) business leaders expect things to get worse through AI adoption, because buying into specific AI tools would increase their dependence on a small number of providers.</p><h2 id="cloud-infrastructure-is-undergoing-a-global-change">Cloud infrastructure is undergoing a global change</h2><p>Leaseweb also noted that geopolitical tensions are continuing to reshape the cloud landscape, with four in five (78%) businesses already having taken action to reduce their reliance on a provider.</p><p>Interestingly, while the EU leads many discussions around digital sovereignty, it was the US that saw the highest proportion (91%) of businesses taking action.</p><p>Crucially, businesses are clearly willing to pay a premium to have greater control over their infrastructure, with the average business prepared to pay 16% more.</p><p>Still, Leaseweb is warning businesses that they have less control than they think they have. "With AI expected to tie businesses even more closely to a small number of providers, leaders need to understand and act on those dependencies now, not when a pricing change or geopolitical shift forces their hand," co-CEO Lex Boost wrote.</p><figure class="van-image-figure pull-right inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="diM9tpwF2Lz85R8q85CT78" name="tr-g_news" alt="Google logo on a black background next to text reading 'Click to follow TechRadar'" src="https://cdn.mos.cms.futurecdn.net/diM9tpwF2Lz85R8q85CT78-1920-80.jpg" mos="" align="right" fullscreen="" width="676" height="213" attribution="" endorsement="" class="pull-rightinline" /></p></div></div></figure>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hackers publish over 320,000 files stolen from 39 Bristol schools on the dark web ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Cyberattack on Bristol schools leads to the online leak of more than 320,000 stolen files from 39 schools</strong></li><li><strong>Officials warn students, parents, and staff to expect phishing attempts and other fraud using exposed data</strong></li><li><strong>Investigation continues as authorities determine whose information was compromised and the extent of the breach</strong></li></ul><p>Threat actors have leaked hundreds of thousands of records they stole from Bristol schools in September 2026 onto the dark web.</p><p>Bristol city council has issued a <a href="https://news.bristol.gov.uk/press-releases/2cbcb3d5-b9d4-4c65-8975-58125631c4e2/update-on-cyber-attack-affecting-bristol-schools-network" target="_blank" rel="nofollow">warning</a> urging both students and parents to expect phishing attacks and other internet scams, and to be vigilant with incoming communications.</p><p>“Following ongoing investigations into the cyber-attack affecting the school's IT network, evidence has been found that data taken during the incident has been published online by the criminals responsible for the attack,” the council said in a new statement. “Specialist investigations have identified a significant number of files believed to have been taken from the network and made available online.”</p><h2 id="data-leaks-online">Data leaks online</h2><p>Reports of a cyberattack against Trading with Schools (TwS), a service operated by Bristol City Council providing schools with shared IT infrastructure and a range of administrative and operational support services, including financial administration, payroll, HR, and more, emerged in October 2026.</p><p>At the time, the council said it first suspected foul play on September 21, and decided to shut down the service four days later, on September 25. Following an initial investigation, it was discovered that someone had planted <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a>, and that the breach affected 87 schools. Back then, council leader Tony Dyer told the BBC that the investigation “had not identified any evidence that data has been stolen.”</p><p>However, it seems that not only that the data was stolen - it also leaked on the dark web. Usually, leaks follow a failed extortion attempt, but we don’t know who the threat actors are or if they actually tried to get the council to pay for the data. </p><p>The announcement does not put a figure to this “significant number” of files, but according to the <a href="https://www.bbc.co.uk/news/articles/c6073rl8839vo" target="_blank" rel="nofollow">BBC</a>, it’s more than 320,000 files, stolen from 39 schools. </p><p>Right now, no one knows the nature of the stolen data, or how much of it includes personally identifiable information (PII). Director of Education and Skills at Bristol City Council, Vik Verma, said its officers were "working through a large amount of material as quickly as possible" to determine what was stolen, the publication wrote. </p><p>The BBC says that the 39 schools whose data was stolen “heavily” relied on the system for everyday tasks such as scheduling, lesson plans, recording staff details and payroll information. </p><p>Therefore, students and pupils might not be the only ones worrying about potential phishing attacks - school staff could be targeted, as well. To make matters worse, since TwS was shut down, many digital tools and services are unavailable making teachers’ jobs harder, and their working hours longer. </p><p>The council has notified Avon and Somerset Police and the Regional Organised Crime Unit, and has brought in third-party specialist cybersecurity advisers to help with the investigation. </p><h2 id="only-bristol-schools-affected">Only Bristol schools affected</h2><p>“At present, it is not possible to confirm all schools or individuals affected by the theft,” the council said. “Officers are working to audit the published files and establish this picture as quickly as possible.” Apparently, only Bristol schools were hit. </p><p>Parents and students are now being advised to be careful with unexpected emails, text messages, and even phone calls, and especially if they’re claiming to come from a trusted source. They’re also told not to click on links or open attachments in such messages, and to be wary of requests to reset passwords, “verify” account details, or otherwise provide personal or financial information.</p><p>They were also told to use strong and unique passwords for important online accounts, and to turn on multi-factor authentication whenever possible, and to keep a close eye on online accounts and bank statements. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/hackers-publish-over-320-000-files-stolen-from-39-bristol-schools-on-the-dark-web</link>
                                                                            <description>
                            <![CDATA[ The September breach has made it to the dark web and investigators are analyzing the nature of the leaked files. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">jbF3CVZovi3HWoMs3RQfng</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/GcQXTy4NBXKeoop4V5WQnQ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 10:09:20 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Nov 2026 10:09:25 +0000</updated>
                                                                                                                                            <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/GcQXTy4NBXKeoop4V5WQnQ-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Data leak]]></media:description>                                                            <media:text><![CDATA[Data leak]]></media:text>
                                <media:title type="plain"><![CDATA[Data leak]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/GcQXTy4NBXKeoop4V5WQnQ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Cyberattack on Bristol schools leads to the online leak of more than 320,000 stolen files from 39 schools</strong></li><li><strong>Officials warn students, parents, and staff to expect phishing attempts and other fraud using exposed data</strong></li><li><strong>Investigation continues as authorities determine whose information was compromised and the extent of the breach</strong></li></ul><p>Threat actors have leaked hundreds of thousands of records they stole from Bristol schools in September 2026 onto the dark web.</p><p>Bristol city council has issued a <a href="https://news.bristol.gov.uk/press-releases/2cbcb3d5-b9d4-4c65-8975-58125631c4e2/update-on-cyber-attack-affecting-bristol-schools-network" target="_blank" rel="nofollow">warning</a> urging both students and parents to expect phishing attacks and other internet scams, and to be vigilant with incoming communications.</p><p>“Following ongoing investigations into the cyber-attack affecting the school's IT network, evidence has been found that data taken during the incident has been published online by the criminals responsible for the attack,” the council said in a new statement. “Specialist investigations have identified a significant number of files believed to have been taken from the network and made available online.”</p><h2 id="data-leaks-online">Data leaks online</h2><p>Reports of a cyberattack against Trading with Schools (TwS), a service operated by Bristol City Council providing schools with shared IT infrastructure and a range of administrative and operational support services, including financial administration, payroll, HR, and more, emerged in October 2026.</p><p>At the time, the council said it first suspected foul play on September 21, and decided to shut down the service four days later, on September 25. Following an initial investigation, it was discovered that someone had planted <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a>, and that the breach affected 87 schools. Back then, council leader Tony Dyer told the BBC that the investigation “had not identified any evidence that data has been stolen.”</p><p>However, it seems that not only that the data was stolen - it also leaked on the dark web. Usually, leaks follow a failed extortion attempt, but we don’t know who the threat actors are or if they actually tried to get the council to pay for the data. </p><p>The announcement does not put a figure to this “significant number” of files, but according to the <a href="https://www.bbc.co.uk/news/articles/c6073rl8839vo" target="_blank" rel="nofollow">BBC</a>, it’s more than 320,000 files, stolen from 39 schools. </p><p>Right now, no one knows the nature of the stolen data, or how much of it includes personally identifiable information (PII). Director of Education and Skills at Bristol City Council, Vik Verma, said its officers were "working through a large amount of material as quickly as possible" to determine what was stolen, the publication wrote. </p><p>The BBC says that the 39 schools whose data was stolen “heavily” relied on the system for everyday tasks such as scheduling, lesson plans, recording staff details and payroll information. </p><p>Therefore, students and pupils might not be the only ones worrying about potential phishing attacks - school staff could be targeted, as well. To make matters worse, since TwS was shut down, many digital tools and services are unavailable making teachers’ jobs harder, and their working hours longer. </p><p>The council has notified Avon and Somerset Police and the Regional Organised Crime Unit, and has brought in third-party specialist cybersecurity advisers to help with the investigation. </p><h2 id="only-bristol-schools-affected">Only Bristol schools affected</h2><p>“At present, it is not possible to confirm all schools or individuals affected by the theft,” the council said. “Officers are working to audit the published files and establish this picture as quickly as possible.” Apparently, only Bristol schools were hit. </p><p>Parents and students are now being advised to be careful with unexpected emails, text messages, and even phone calls, and especially if they’re claiming to come from a trusted source. They’re also told not to click on links or open attachments in such messages, and to be wary of requests to reset passwords, “verify” account details, or otherwise provide personal or financial information.</p><p>They were also told to use strong and unique passwords for important online accounts, and to turn on multi-factor authentication whenever possible, and to keep a close eye on online accounts and bank statements. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Harvard University reveals data breach exposed 851,000 accounts ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Harvard breach data affecting 850,500 people has now surfaced in breach-tracking databases and dark web archives</strong></li><li><strong>Exposed information includes emails, contact details, demographics, and extensive alumni and donor profile data</strong></li><li><strong>Attack highlights ongoing risks from social-engineering attacks against universities and fundraising systems</strong></li></ul><p>Hundreds of thousands of email addresses have been leaked to the dark web after the <a href="https://www.techradar.com/pro/security/harvard-university-reveals-data-breach-hitting-alumni-and-donors">November 2025 ShinyHunters breach at Harvard University</a>. </p><p>The same breach also exposed “extensive profile information” about certain people, as well, according to Have I Been Pwned? (HIBP), a website that aggregates stolen passwords and helps users learn which services exposed their private information.</p><h2 id="harvard-gets-hit">Harvard gets hit</h2><p>In late November 2025, the prestigious Ivy League University confirmed its Alumni Affairs and Development systems had been compromised after a successful voice phishing (vishing) attack.</p><p>These systems contained information about alumni, donors, some faculty and staff, and some current students, as well as data on their spouses, partners, and parents. Current and former students were also affected, it was said.</p><p>Harvard soon confirmed that the compromised data included email addresses, telephone numbers, home and business addresses, event attendance records, donation details, and "biographical information pertaining to University fundraising and alumni engagement activities." Social Security numbers, passwords, payment card information, or financial info, was not exposed, it was said.</p><p>At the time, Harvard did not name the attackers, but the infamous ShinyHunters extortionist group claimed responsibility soon after. In a new entry on a dark web forum, the threat actors said they stole more than a million records containing personally identifiable information (PII), as well as donation data. Since the negotiations with the university broke down, the group leaked more than 1.1GB of documents in early February this year. </p><p>At the time, no one knew exactly how many people were affected. Now, after extensively analyzing the leaked archive, HIBP claims data of 850,500 accounts was compromised, including people’s names, email addresses, dates of birth, phone numbers, postal addresses, and social media profiles.</p><p>"The data contained 851k unique email addresses relating to the university's alumni and fundraising systems, along with extensive profile information for donors, alumni, parents and some faculty, staff and students," it said.</p><h2 id="attacking-universities">Attacking universities</h2><p>When Harvard “fell” to ShinyHunters, they were the third university to experience a breach in mere weeks, following similar incidents at both Princeton University and the University of Pennsylvania. </p><p>In early November 2025, when ShinyHunters claimed responsibility for the attack on Penn, they said they stole data on roughly 1.2 million students, alumni, and donors. </p><p>At the time, an unnamed threat actor told the media they gained “full access” to a university employee’s PennKey SSO account, which gave them access to Penn’s VPN, Salesforce data, Qlik analytics platform, SAP business intelligence system, and SharePoint files.</p><p>The crooks slammed Penn for being a “dog**** elitist institution full of woke ret*rds, who have “terrible security practices and are completely unmeritocratic.”</p><p>"We hire and admit morons because we love legacies, donors, and unqualified affirmative action admits. We love breaking federal laws like FERPA (all your data will be leaked) and Supreme Court rulings like SFFA,” ShinyHunters said in an email that was sent from a Penn account.</p><p>At first, the University of Pennsylvania described the emails as “obviously fake” and “fraudulent”, but later backtracked and confirmed the incident.</p><p>“Penn’s staff rapidly locked down the systems and prevented further unauthorized access; however, not before an offensive and fraudulent email was sent to our community and information was taken by the attacker,” it said in an update. “Penn is still investigating the nature of the information that was obtained during this time.”</p><p>Penn also said that the attack was done through social engineering. Most employees are required to use multi-factor authentication (MFA) but according to reports, some of the top brass was allowed to skip this step. </p><p><em>Via </em><a href="https://www.bleepingcomputer.com/news/security/harvard-university-data-breach-exposed-info-of-851-000-accounts/" target="_blank"><em>BleepingComputer</em></a></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/harvard-university-reveals-data-breach-exposed-851-000-accounts</link>
                                                                            <description>
                            <![CDATA[ "Extensive profile information" was taken from Harvard accounts, the University reveals. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">A4gNWQft8U37nhQa3PLMzV</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UjSNcAZ5SebctebKAMQNVF-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 02:50:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/UjSNcAZ5SebctebKAMQNVF-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Cybersecurity ensures data protection on internet. Data encryption, firewall, encrypted network, VPN, secure access and authentication defend against malware, hacking, cyber crime and digital threat]]></media:description>                                                            <media:text><![CDATA[Cybersecurity ensures data protection on internet. Data encryption, firewall, encrypted network, VPN, secure access and authentication defend against malware, hacking, cyber crime and digital threat]]></media:text>
                                <media:title type="plain"><![CDATA[Cybersecurity ensures data protection on internet. Data encryption, firewall, encrypted network, VPN, secure access and authentication defend against malware, hacking, cyber crime and digital threat]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UjSNcAZ5SebctebKAMQNVF-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Harvard breach data affecting 850,500 people has now surfaced in breach-tracking databases and dark web archives</strong></li><li><strong>Exposed information includes emails, contact details, demographics, and extensive alumni and donor profile data</strong></li><li><strong>Attack highlights ongoing risks from social-engineering attacks against universities and fundraising systems</strong></li></ul><p>Hundreds of thousands of email addresses have been leaked to the dark web after the <a href="https://www.techradar.com/pro/security/harvard-university-reveals-data-breach-hitting-alumni-and-donors">November 2025 ShinyHunters breach at Harvard University</a>. </p><p>The same breach also exposed “extensive profile information” about certain people, as well, according to Have I Been Pwned? (HIBP), a website that aggregates stolen passwords and helps users learn which services exposed their private information.</p><h2 id="harvard-gets-hit">Harvard gets hit</h2><p>In late November 2025, the prestigious Ivy League University confirmed its Alumni Affairs and Development systems had been compromised after a successful voice phishing (vishing) attack.</p><p>These systems contained information about alumni, donors, some faculty and staff, and some current students, as well as data on their spouses, partners, and parents. Current and former students were also affected, it was said.</p><p>Harvard soon confirmed that the compromised data included email addresses, telephone numbers, home and business addresses, event attendance records, donation details, and "biographical information pertaining to University fundraising and alumni engagement activities." Social Security numbers, passwords, payment card information, or financial info, was not exposed, it was said.</p><p>At the time, Harvard did not name the attackers, but the infamous ShinyHunters extortionist group claimed responsibility soon after. In a new entry on a dark web forum, the threat actors said they stole more than a million records containing personally identifiable information (PII), as well as donation data. Since the negotiations with the university broke down, the group leaked more than 1.1GB of documents in early February this year. </p><p>At the time, no one knew exactly how many people were affected. Now, after extensively analyzing the leaked archive, HIBP claims data of 850,500 accounts was compromised, including people’s names, email addresses, dates of birth, phone numbers, postal addresses, and social media profiles.</p><p>"The data contained 851k unique email addresses relating to the university's alumni and fundraising systems, along with extensive profile information for donors, alumni, parents and some faculty, staff and students," it said.</p><h2 id="attacking-universities">Attacking universities</h2><p>When Harvard “fell” to ShinyHunters, they were the third university to experience a breach in mere weeks, following similar incidents at both Princeton University and the University of Pennsylvania. </p><p>In early November 2025, when ShinyHunters claimed responsibility for the attack on Penn, they said they stole data on roughly 1.2 million students, alumni, and donors. </p><p>At the time, an unnamed threat actor told the media they gained “full access” to a university employee’s PennKey SSO account, which gave them access to Penn’s VPN, Salesforce data, Qlik analytics platform, SAP business intelligence system, and SharePoint files.</p><p>The crooks slammed Penn for being a “dog**** elitist institution full of woke ret*rds, who have “terrible security practices and are completely unmeritocratic.”</p><p>"We hire and admit morons because we love legacies, donors, and unqualified affirmative action admits. We love breaking federal laws like FERPA (all your data will be leaked) and Supreme Court rulings like SFFA,” ShinyHunters said in an email that was sent from a Penn account.</p><p>At first, the University of Pennsylvania described the emails as “obviously fake” and “fraudulent”, but later backtracked and confirmed the incident.</p><p>“Penn’s staff rapidly locked down the systems and prevented further unauthorized access; however, not before an offensive and fraudulent email was sent to our community and information was taken by the attacker,” it said in an update. “Penn is still investigating the nature of the information that was obtained during this time.”</p><p>Penn also said that the attack was done through social engineering. Most employees are required to use multi-factor authentication (MFA) but according to reports, some of the top brass was allowed to skip this step. </p><p><em>Via </em><a href="https://www.bleepingcomputer.com/news/security/harvard-university-data-breach-exposed-info-of-851-000-accounts/" target="_blank"><em>BleepingComputer</em></a></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I spent a morning with Meta VR Glasses and wish I never had to take them off ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Experience counts for something, and nowhere is that more evident than on the Meta VR Glasses I finally wore this morning.</p><p>These lightweight, intuitive, and engrossing VR glasses shed the weight and overdesigned fussiness of previous VR and mixed reality headsets to deliver a subtle, smart, eminently comfortable and fun wearable experience that is equally at home entertaining you with wild VR movies or expansive, productivity-enhancing virtual desktops.</p><p>Granted, my walkthrough of the $1,299 VR Glasses that are expected to arrive next spring (April-early June) of next year was a breezy 45 minutes, but that was ample time to realize that Meta VR Glasses were truly built on all the lessons of not only Meta Quest VR, but also by watching competitors like Apple and even Samsung struggle to inspire consumers with stunning but also expensive or somewhat unwieldy mixed reality experiences.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XupCtdn3nHKRfLkmy4ia9d-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/un5r9fxJnyaNMoAJycptfc-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tVcWbQMgRdUC2tdfEKq3ec-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iHJqAfVpRGsZE68U78pfic-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>In my view, Meta's decision to move compute, storage, and battery out of the headset and into a 300g belt- or pocket-friendly puck pays design dividends. The wearable, which looks like a slightly oversized pair of sunglasses, is so comfortable that I barely felt them on my face, and after 45 minutes of continuous use, I didn't remove the 100-gram frames with a sense of relief. If anything, I was sad my all-too-brief interlude was over.</p><p>Without needing to support CPUs, GPUs, NPUs, RAM, a heavy battery, or even SD storage, Meta could focus on basic aesthetic appeal. The Meta VR Glasses feel and look spare, but in a positive way. By design, they do not cut you off from the outside world (there will be an optional light shield), so there's no need to slap a pair of animated blinking eyes on the lenses.</p><p>Granted, I had my doubts that the Meta VR Glasses would be all that immersive or inspiring, given what looked like essentially eye-sized lenses and no visible cameras, inside or out.</p><p>That all turned out to be deceiving.</p><h2 id="accurate-tracking-for-an-immersive-experience">Accurate tracking for an immersive 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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kNtpjVRUPK79msftUSjT9d" name="Meta-VR-Glasses-on-lance-hero-2" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/kNtpjVRUPK79msftUSjT9d-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: Lance Ulanoff / Future)</span></figcaption></figure><p>When I said Meta clearly learned from all that came before it, I wasn't kidding. The metaphors for setting up eye tracking were essentially the same as what I did for Apple Vision Pro (I didn't have to adjust pupillary distance, though you easily can) and, to an extent, Galaxy XR. You look at a circle of dots floating in space and, yes, use your fingers to pinch and select each one.</p><p>There are, obviously, cameras that track your eyes, hands, and the outside world. I was impressed with the accuracy, which matched what I've experienced on Vision Pro.</p><p>Equally, the first time I saw the floating menu, I was shocked at the visual quality (it's worth noting that Meta put in a pair of magnetic prescription inserts to match my eyes, and those inserts will probably add almost $100 to your final cost — Meta told me it will offer Zenni prescription inserts for "under $100 per pair, flat pricing (price does not increase based on Rx strength)". For the record, Meta lists the Micro-OLED display resolution as 5K, and based on what I saw, I believe it.</p><p>Disney+, a TV App, Avengers: Infinity War VR experience, and a dozen other app icons floated in space, with each one puffing up as I glanced at 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="4wVKpJNGwdHuzUzmDgm9wc" name="Meta-VR-Glasses-on-lance-looking-up" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/4wVKpJNGwdHuzUzmDgm9wc-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Meta VR Glasses software doesn't try to reinvent the mixed reality wheel. I had no trouble opening apps, closing them, or even moving windows around. It does add one gesture that I appreciated: scroll. </p><p>To scroll in any window, I made a gentle fist and then swiped my thumb across the side of my index finger to scroll left, right, up, and down. I was surprised at how quickly I picked this up; I think that has a lot to do with the accuracy of the eye and gesture tracking.</p><p>My experiences were limited to a handful of apps, but each one was compelling in its own 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:1910px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="robJgQJFov9At3W8faTGDK" name="Meta-VR-Glasses-home-screen" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/robJgQJFov9At3W8faTGDK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1910" height="1074" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>We started with an 8K VR Billie Eilish concert in which I was virtually seated front and center, close enough to take a selfie with the singer. The volume started a bit low for my tastes. Still, I was able to use the volume controls under the right temple to make the audio loud enough that it drowned out the voices of the Meta execs who were trying to guide me (they were watching what I viewed through a cast on a nearby PC — Meta VR Glasses can also cast to your phone).</p><p>We switched to the NBA Finals last, title-clinching Knicks game, which put me courtside. At one point, I realized the near-360 view was probably shot by a camera that was also almost on the court. Meta told me they partner with Kosmo (Hesai Kosmo), which uses relatively small 360-degree cameras to capture the action. As the game replay continued, I noticed Timothée Chalamet and Kylie Kardashian were also courtside. I waved, but they did not seem to notice me.</p><p>I played a puzzle game called <em>Dragon Grove</em>, which, as you might expect, featured a small, green, cartoony dragon who landed on my outstretched hand and let me pet him. I was reminded of a similar experience with Vision Pro and a butterfly. By launch, Meta expects to have 75+ hands-first games.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MzywR7dWbafFZtoetZKbAK" name="Dragon-Grove-1" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/MzywR7dWbafFZtoetZKbAK-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: Meta)</span></figcaption></figure><p>Meta believes that the primary use cases for Meta VR Glasses will be entertainment and productivity. On the entertainment front, I watched Avengers Infinity Wars VR Enhanced, which took the original film and then gussied it up with 360 surround VR imagery and even lets some of the characters pop out of the original film frame. It was cool but also a bit odd. Why would a director who intentionally chooses to shoot a scene a certain way want you looking anywhere else but his original film? It did, though, make the movie feel more like an amusement park ride, which may appeal to some.</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="fM9LPm6jdQZ5SKm6gPAo9K" name="Avengers_-Infinity-War-_-Disney-Immersive-Cinema-by-ILM" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/fM9LPm6jdQZ5SKm6gPAo9K-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: Meta)</span></figcaption></figure><h2 id="business-class">Business class</h2><p>On the productivity front, Meta VR Glasses basically start where everyone else spent years traveling to arrive. I had huge desktop screens all around me that I could move and resize with gestures. At one point, I placed a screen on the ceiling above me. Plus, I could take any screen and make it ultrawide. The only hiccup was when one coding screen stretched the code text into an ultra-wide, almost unreadable format. This is all pre-release software, so bugs like this are to be expected.</p><p>Like Vision Pro and Galaxy XR, Meta VR glasses have a floating keyboard, but they've also added something new to the mix: a surface keyboard. To enable it, I selected the option from the floating keyboard and then put my hands on the table surface. After a quick scan, a transparent keyboard and trackpad appeared on the tabletop. I could use them just as I would any standard physical keyboard and mouse. My only issue is that, as a terrible touch typist, the lack of any physical key response might make my typing even worse.</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="wefV47ALqxRkjT6bGaFp45" name="Meta_VR_Glasses_Lifestyle_Cafe_16x9" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/wefV47ALqxRkjT6bGaFp45-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: Meta)</span></figcaption></figure><p>When I took off the frames, it felt like I'd removed a pair of glasses, not headgear doing its best with straps and head rings to lessen the load on my face. There was no afterburn on my nose or brows. </p><p>I do, of course, have questions. Like, even at the more affordable $1,299, will consumers buy into this for a big-screen experience on an airplane and when they're home alone (you won't sit next to a family member and tune out to your own VR experience, will you?). Gamers, especially those who are tired of wearing heavy headsets, will surely be interested in Meta VR Glasses, though I don't know if the Qualcomm Snapdragon Reality Elite processor (XR2 Gen 3), which can supposedly support all the apps in Quest's library, has the juice to run true AAA titles. I'm glad Meta has the productivity part worked out because I still think that may be the best play for any of these types of wearables: knowledge workers, business travelers, and enterprise.</p><p>Who knows, though, maybe Meta VR Glasses is the mixed reality headset to finally break open the consumer market. It impressed me and, to be honest, I can't wait to wear them again.</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="5TjUBYxLwAreZosvYKoJAd" name="Meta-VR-Glasses-on-lance-head-on" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/5TjUBYxLwAreZosvYKoJAd-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: Lance Ulanoff / Future)</span></figcaption></figure> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/virtual-reality-augmented-reality/i-spent-a-morning-with-meta-vr-glasses-and-wish-i-never-had-to-take-them-off</link>
                                                                            <description>
                            <![CDATA[ Meta VR Glasses are shaping up to be the mixed-reality wearables we wanted all along, and my test drive made me a believer. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">SvMTtBpnp59Ava2i6Tz4uF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4aGDnaHB3JNtGBcubeHUCd-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Thu, 05 Nov 2026 00:45:00 +0000</pubDate>                                                                                                                                <updated>Thu, 05 Nov 2026 19:38:50 +0000</updated>
                                                                                                                                            <category><![CDATA[Virtual Reality & Augmented Reality]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ lance.ulanoff@futurenet.com (Lance Ulanoff) ]]></author>                    <dc:creator><![CDATA[ Lance Ulanoff ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/6Wh5hw6gxNa22teaor9Pdn-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lance Ulanoff is an &lt;a href=&quot;https://cdn.mos.cms.futurecdn.net/ox35RKH2kNKBfSBfvHEoK6.jpg&quot;&gt;award-winning tech journalist&lt;/a&gt;, on-air expert, and commentator.&lt;/p&gt;&lt;p&gt;&lt;br&gt;&lt;/p&gt;&lt;p&gt;Before joining TechRadar, he served as Editor in Chief of Lifewire. Prior to that, he was Chief Correspondent for Mashable where he covered all facets of technology and the intersection of digital and life. He also helped Mashable find new ways to tell stories. Lance is based in NY.&lt;br&gt;&lt;br&gt;A 38-year industry veteran, &lt;a href=&quot;https://en.wikipedia.org/wiki/Lance_Ulanoff&quot; target=&quot;_blank&quot;&gt;Lance Ulanoff&lt;/a&gt; has covered technology since PCs were the size of suitcases, “on line” meant “waiting” and CPU speeds were measured in single-digit megahertz. Prior to joining Mashable as Editor in Chief in 2011, Lance Ulanoff served as Editor in Chief of PCMag.com and Senior Vice President of Content for the Ziff Davis, Inc. While there, he guided the brand to a 100% digital existence and oversaw content strategy for all of Ziff Davis’ Web sites. His long-running column on PCMag.com earned him a Bronze award from the ASBPE. Winmag.com, HomePC.com, and PCMag.com were all honored under Lance’s guidance. &lt;br&gt;&lt;br&gt;He makes frequent appearances on national, international, and local news programs including &lt;a href=&quot;https://kellyandryan.com/homepagemodules/new-years-tech-resolutions-with-lance-ulanoff/&quot; target=&quot;_blank&quot;&gt;Live with Kelly and Mark&lt;/a&gt;, &lt;a href=&quot;https://www.today.com/video/google-glass-is-beginning-of-a-revolution-44496451646&quot; target=&quot;_blank&quot;&gt;the Today Show&lt;/a&gt;, Good Morning America, CNBC, CNN, and the BBC. He has also offered commentary on National Public Radio and been interviewed by newspapers and radio stations around the country. Lance has been an invited guest speaker at numerous technology conferences including Think Mobile, CEA Line Shows, Digital Life, RoboBusiness, RoboNexus, Business Foresight, and Digital Media Wire’s Games and Mobile Forum.&lt;br&gt;&lt;br&gt;Lance received his Bachelor of Arts in Journalism from Hofstra University in New York. He serves on Hofstra’s School of Communication Advisory Board.&lt;br&gt;&lt;br&gt;In his spare time, Lance draws cartoons, which he occasionally posts online. He and his wife Linda have been married for over 30 years and have raised two amazing children.&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/4aGDnaHB3JNtGBcubeHUCd-1920-80.jpg">
                                                            <media:credit><![CDATA[Lance Ulanoff / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Meta VR Glasses]]></media:description>                                                            <media:text><![CDATA[Meta VR Glasses]]></media:text>
                                <media:title type="plain"><![CDATA[Meta VR Glasses]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4aGDnaHB3JNtGBcubeHUCd-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Experience counts for something, and nowhere is that more evident than on the Meta VR Glasses I finally wore this morning.</p><p>These lightweight, intuitive, and engrossing VR glasses shed the weight and overdesigned fussiness of previous VR and mixed reality headsets to deliver a subtle, smart, eminently comfortable and fun wearable experience that is equally at home entertaining you with wild VR movies or expansive, productivity-enhancing virtual desktops.</p><p>Granted, my walkthrough of the $1,299 VR Glasses that are expected to arrive next spring (April-early June) of next year was a breezy 45 minutes, but that was ample time to realize that Meta VR Glasses were truly built on all the lessons of not only Meta Quest VR, but also by watching competitors like Apple and even Samsung struggle to inspire consumers with stunning but also expensive or somewhat unwieldy mixed reality experiences.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/XupCtdn3nHKRfLkmy4ia9d-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/un5r9fxJnyaNMoAJycptfc-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/tVcWbQMgRdUC2tdfEKq3ec-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/iHJqAfVpRGsZE68U78pfic-1920-80.jpg" alt="Meta VR Glasses" /><figcaption><small role="credit">Lance Ulanoff / Future</small></figcaption></figure></figure><p>In my view, Meta's decision to move compute, storage, and battery out of the headset and into a 300g belt- or pocket-friendly puck pays design dividends. The wearable, which looks like a slightly oversized pair of sunglasses, is so comfortable that I barely felt them on my face, and after 45 minutes of continuous use, I didn't remove the 100-gram frames with a sense of relief. If anything, I was sad my all-too-brief interlude was over.</p><p>Without needing to support CPUs, GPUs, NPUs, RAM, a heavy battery, or even SD storage, Meta could focus on basic aesthetic appeal. The Meta VR Glasses feel and look spare, but in a positive way. By design, they do not cut you off from the outside world (there will be an optional light shield), so there's no need to slap a pair of animated blinking eyes on the lenses.</p><p>Granted, I had my doubts that the Meta VR Glasses would be all that immersive or inspiring, given what looked like essentially eye-sized lenses and no visible cameras, inside or out.</p><p>That all turned out to be deceiving.</p><h2 id="accurate-tracking-for-an-immersive-experience">Accurate tracking for an immersive 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:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="kNtpjVRUPK79msftUSjT9d" name="Meta-VR-Glasses-on-lance-hero-2" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/kNtpjVRUPK79msftUSjT9d-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: Lance Ulanoff / Future)</span></figcaption></figure><p>When I said Meta clearly learned from all that came before it, I wasn't kidding. The metaphors for setting up eye tracking were essentially the same as what I did for Apple Vision Pro (I didn't have to adjust pupillary distance, though you easily can) and, to an extent, Galaxy XR. You look at a circle of dots floating in space and, yes, use your fingers to pinch and select each one.</p><p>There are, obviously, cameras that track your eyes, hands, and the outside world. I was impressed with the accuracy, which matched what I've experienced on Vision Pro.</p><p>Equally, the first time I saw the floating menu, I was shocked at the visual quality (it's worth noting that Meta put in a pair of magnetic prescription inserts to match my eyes, and those inserts will probably add almost $100 to your final cost — Meta told me it will offer Zenni prescription inserts for "under $100 per pair, flat pricing (price does not increase based on Rx strength)". For the record, Meta lists the Micro-OLED display resolution as 5K, and based on what I saw, I believe it.</p><p>Disney+, a TV App, Avengers: Infinity War VR experience, and a dozen other app icons floated in space, with each one puffing up as I glanced at 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="4wVKpJNGwdHuzUzmDgm9wc" name="Meta-VR-Glasses-on-lance-looking-up" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/4wVKpJNGwdHuzUzmDgm9wc-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Meta VR Glasses software doesn't try to reinvent the mixed reality wheel. I had no trouble opening apps, closing them, or even moving windows around. It does add one gesture that I appreciated: scroll. </p><p>To scroll in any window, I made a gentle fist and then swiped my thumb across the side of my index finger to scroll left, right, up, and down. I was surprised at how quickly I picked this up; I think that has a lot to do with the accuracy of the eye and gesture tracking.</p><p>My experiences were limited to a handful of apps, but each one was compelling in its own 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:1910px;"><p class="vanilla-image-block" style="padding-top:56.23%;"><img id="robJgQJFov9At3W8faTGDK" name="Meta-VR-Glasses-home-screen" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/robJgQJFov9At3W8faTGDK-1920-80.jpg" mos="" align="middle" fullscreen="" width="1910" height="1074" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Meta)</span></figcaption></figure><p>We started with an 8K VR Billie Eilish concert in which I was virtually seated front and center, close enough to take a selfie with the singer. The volume started a bit low for my tastes. Still, I was able to use the volume controls under the right temple to make the audio loud enough that it drowned out the voices of the Meta execs who were trying to guide me (they were watching what I viewed through a cast on a nearby PC — Meta VR Glasses can also cast to your phone).</p><p>We switched to the NBA Finals last, title-clinching Knicks game, which put me courtside. At one point, I realized the near-360 view was probably shot by a camera that was also almost on the court. Meta told me they partner with Kosmo (Hesai Kosmo), which uses relatively small 360-degree cameras to capture the action. As the game replay continued, I noticed Timothée Chalamet and Kylie Kardashian were also courtside. I waved, but they did not seem to notice me.</p><p>I played a puzzle game called <em>Dragon Grove</em>, which, as you might expect, featured a small, green, cartoony dragon who landed on my outstretched hand and let me pet him. I was reminded of a similar experience with Vision Pro and a butterfly. By launch, Meta expects to have 75+ hands-first games.</p><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="MzywR7dWbafFZtoetZKbAK" name="Dragon-Grove-1" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/MzywR7dWbafFZtoetZKbAK-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: Meta)</span></figcaption></figure><p>Meta believes that the primary use cases for Meta VR Glasses will be entertainment and productivity. On the entertainment front, I watched Avengers Infinity Wars VR Enhanced, which took the original film and then gussied it up with 360 surround VR imagery and even lets some of the characters pop out of the original film frame. It was cool but also a bit odd. Why would a director who intentionally chooses to shoot a scene a certain way want you looking anywhere else but his original film? It did, though, make the movie feel more like an amusement park ride, which may appeal to some.</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="fM9LPm6jdQZ5SKm6gPAo9K" name="Avengers_-Infinity-War-_-Disney-Immersive-Cinema-by-ILM" alt="Meta VR Glasses Experiences" src="https://cdn.mos.cms.futurecdn.net/fM9LPm6jdQZ5SKm6gPAo9K-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: Meta)</span></figcaption></figure><h2 id="business-class">Business class</h2><p>On the productivity front, Meta VR Glasses basically start where everyone else spent years traveling to arrive. I had huge desktop screens all around me that I could move and resize with gestures. At one point, I placed a screen on the ceiling above me. Plus, I could take any screen and make it ultrawide. The only hiccup was when one coding screen stretched the code text into an ultra-wide, almost unreadable format. This is all pre-release software, so bugs like this are to be expected.</p><p>Like Vision Pro and Galaxy XR, Meta VR glasses have a floating keyboard, but they've also added something new to the mix: a surface keyboard. To enable it, I selected the option from the floating keyboard and then put my hands on the table surface. After a quick scan, a transparent keyboard and trackpad appeared on the tabletop. I could use them just as I would any standard physical keyboard and mouse. My only issue is that, as a terrible touch typist, the lack of any physical key response might make my typing even worse.</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="wefV47ALqxRkjT6bGaFp45" name="Meta_VR_Glasses_Lifestyle_Cafe_16x9" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/wefV47ALqxRkjT6bGaFp45-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: Meta)</span></figcaption></figure><p>When I took off the frames, it felt like I'd removed a pair of glasses, not headgear doing its best with straps and head rings to lessen the load on my face. There was no afterburn on my nose or brows. </p><p>I do, of course, have questions. Like, even at the more affordable $1,299, will consumers buy into this for a big-screen experience on an airplane and when they're home alone (you won't sit next to a family member and tune out to your own VR experience, will you?). Gamers, especially those who are tired of wearing heavy headsets, will surely be interested in Meta VR Glasses, though I don't know if the Qualcomm Snapdragon Reality Elite processor (XR2 Gen 3), which can supposedly support all the apps in Quest's library, has the juice to run true AAA titles. I'm glad Meta has the productivity part worked out because I still think that may be the best play for any of these types of wearables: knowledge workers, business travelers, and enterprise.</p><p>Who knows, though, maybe Meta VR Glasses is the mixed reality headset to finally break open the consumer market. It impressed me and, to be honest, I can't wait to wear them again.</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="5TjUBYxLwAreZosvYKoJAd" name="Meta-VR-Glasses-on-lance-head-on" alt="Meta VR Glasses" src="https://cdn.mos.cms.futurecdn.net/5TjUBYxLwAreZosvYKoJAd-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: Lance Ulanoff / Future)</span></figcaption></figure>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ SteelSeries Rival Pro Mini review: S-tier performance in a compact package ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review"><span>SteelSeries Rival Pro Mini review</span></h2><p>The SteelSeries Rival Pro Mini might just be perfect for you, if you're looking for a compact gaming mouse that makes no sacrifices when it comes to performance.</p><p>The SteelSeries Rival Pro Mini has everything a competitive gamer could ever want, be that true 8K polling, programmable buttons, 42K DPI sensitivity… you name it. It even brings ‘infinite power supply’ tech to the table, meaning you’ll have next to no downtime when duking it out against your opponents.</p><p>However, this mouse doesn’t come cheap. At $179.99 / £169.99 (about AU$250), it sits firmly in the premium category, meaning it has to go above and beyond to prove itself against the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> on the market. But is it truly worth that steep asking price? Here’s my view after hours of intensive testing.</p><p>Let’s start things off by looking at some of the features that the Rival Pro Mini has to offer. I may have piqued your curiosity when I mentioned that ‘infinite’ power supply just now — but what exactly does that mean? </p><p>Well, the Rival Pro Mini and its accompanying Ultra Wideband base station come with hot-swappable batteries. One will slot into your mouse while gaming, and the other will sit in the base station and charge up in the meantime. When your mouse eventually runs dry — around 60 hours with 1K polling or 16 hours with 8K — you can simply pop the battery out of your base station, slot it into your mouse, and continue playing in an instant.</p><p>This is a truly brilliant feature, and means you’ll never run out of juice when competing in a tournament or playing a few casual rounds. Even though the Rival Pro Mini mouse has no USB slot for wired use, this tech means that you’ll never truly need it.</p><p>But there are so many more features to discover on the Rival Pro Mini. First up, you’re getting true 8K polling for ultra-smooth performance. SuperSync is also here, which enables you to independently set tracking and clicking polling rates. There’s also aim tools, 42K DPI sensitivity, and six fully programmable buttons on board. </p><p>You can customize the way that buttons function in the GG app or web platform, which also lets you adjust sensitivity, polling rate, and power management among other things. I found both the downloadable and web app to be incredibly easy to use and navigate, with no shortage of options at my disposal.</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="haez7RJ3FYspxCnrinbweH" name="Steelseries_RivalProMini_007.JPG" alt="SteelSeries Rival Pro Mini with UWB base station" src="https://cdn.mos.cms.futurecdn.net/haez7RJ3FYspxCnrinbweH-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>But just how does the Rival Pro Mini feel to use in practice? Just as good as you’d hope. When playing <em>Cyberpunk 2077 </em>on the <a href="https://www.techradar.com/computing/monitors/lg-reveals-worlds-first-native-1-000hz-gaming-monitor-but-good-luck-trying-to-find-a-gpu-to-drive-it-without-breaking-the-bank">LG UltraGear 25G590B 1000Hz gaming monitor</a>, I was blown away by the all-round quality on offer. When aiming, movement felt supremely stable and accurate, and even basic functions like turning the camera was super smooth and highly responsive. </p><p>In addition, the optical switches had a great feel to them, and allowed me to blast down my foes with unrivaled speed and precision. Like typical optical switches, these aren’t the quietest around, but their satisfying click felt never seemed obnoxiously loud or distracting to me. The mechanical scroll wheel also impressed me with its control and tactility, and its ridges provided ample grip when gaming or simply performing everyday tasks at work.</p><p>This mouse gets it right when it comes to ergonomics too, although it is a more compact model, so if you have larger hands I’d recommend picking up the full-sized Rival Pro instead. But the mouse’s molded exterior and lightweight feel fantastic, and I was able to use the Rival Pro Mini for hours on end without any cramp or fatigue. This is an ergonomic model for right-handed gamers, though, so if you’re a lefty, I’d suggest checking out the symmetrical SteelSeries Sensei Pro Mini.</p><p>The Rival Pro Mini plays it fairly safe looks-wise, but it does have a sleek aesthetic, and the orange scroll wheel gives it a bit of pop. It also has strong build quality, and I liked its lightly textured matte finish, which adds a premium touch. One thing I will say, however, is that this finish does turn the Rival Pro Mini into a bit of a fingerprint magnet, so it’ll need a good wipe down every now and then if you want to keep it looking pristine. Still, fingerprints will likely seem less visible if you opt for the white colorway over the black variant I tested.</p><p>There’s very little holding this mouse back, though one thing could prove to put some gamers off. And you guessed it: it’s that asking price. </p><p>While I think that the Rival Pro Mini offers solid value thanks to its exemplary functionality, at $179.99 / £169.99 (about AU$250), it’s unquestionably expensive. It’s also priced identically to the larger, full-size model — no big deal given that they share the same features, but it would’ve been nice to get this one at an ever-so-slightly lower price. </p><p>When all’s said and done, though, I had an overwhelmingly positive experience with the SteelSeries Rival Pro Mini. Its S-tier performance, clever hot-swappable batteries, and customizable buttons make it a great option, even for the most competitive gamers out there, and if you can stomach the price, it’s well worth picking 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="rASN6BNM2bWUiAC5qmzFZH" name="Steelseries_RivalProMini_003.JPG" alt="Scroll wheel on the SteelSeries Rival Pro Mini" src="https://cdn.mos.cms.futurecdn.net/rASN6BNM2bWUiAC5qmzFZH-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><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-price-release-date"><span>SteelSeries Rival Pro Mini review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro Mini first arrived in October 2026 alongside three other models, namely the larger SteelSeries Rival Pro, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro Mini has the same list price as the full-sized model, coming in at $179.99 / £169.99 (about AU$250). As you’d expect, that places it in the premium category with competition including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a> — both of which you can learn more about in the ‘also consider’ section.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-specs"><span>SteelSeries Rival Pro Mini review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.75 x 2.57 x 1.59 inches / 120.7 x 65.4 x 40.5mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.7oz / 49g</p></td></tr></tbody></table></div><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="iAHbaUFJjw492hdByQYZzH" name="Steelseries_RivalProMini_012.JPG" alt="SteelSeries Rival Pro Mini with various accessories" src="https://cdn.mos.cms.futurecdn.net/iAHbaUFJjw492hdByQYZzH-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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro-mini"><span>Should I buy the SteelSeries Rival Pro Mini?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great ergonomics, ultra-lightweight, great build quality, and nice matte finish — although it's a bit of a fingerprint magnet.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>8K polling with SuperSync, top-tier 42K DPI sensitivity, practical infinite power system.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Steep price, and just as expensive as the full-sized model, but incredibly high overall quality.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-2">Buy it if…</h2><div class="product"><p><strong>You want top-tier performance</strong><br />Whether you’re an esports competitor or an FPS fanatic, the features on the Rival Pro Mini are sure to cover all of the bases. You get true 8K polling, 42K DPI sensitivity, and plenty of customization options in the GG app and web platform to get you ready for competitive play.</p></div><div class="product"><p><strong>You want a mouse with unbeatable battery life</strong><br />The hot-swappable batteries on the Rival Pro Mini ensure that you’ll never run out of battery life when playing your favorite games. Sure, you’ll have to swap in the battery from your base station when your mouse runs dry, but otherwise you’ll experience no down time whatsoever.</p></div><h2 id="don-t-buy-it-if-2">Don’t buy it if…</h2><div class="product"><p><strong>You have larger hands</strong><br />If you’re someone with larger hands, then you may find the SteelSeries Rival Pro Mini to be a little undersized. I’d recommend just stepping up to the full-size Rival Pro, which is virtually identical to the Mini, just a bit bigger and marginally weightier.</p></div><div class="product"><p><strong>You don’t need the most advanced gaming features</strong><br />Unless you’re playing games that need high levels of precision, then I’d say that the Rival Pro Mini might be overkill for you. After all, it comes in at a very high asking price, and there are plenty of great options available for less than $100 / £100.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-also-consider"><span>SteelSeries Rival Pro Mini review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We’re big fans of this Logitech mouse here at TechRadar. When we tested it we were wowed by its ultra-low click and sensor latency, excellent switches, and great build quality — though like its SteelSeries rival, this mouse is pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="cdf5c41a-d22e-11f1-b8d2-c31e11ac6d07" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>. </p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a spectacular gaming mouse, and competes with the very best models on the market. It supplies exceptional performance, a brilliant optical scroll wheel, and marvelous ergonomics too. It comes in at a similar cost to its SteelSeries rival, though we have seen this Razer mouse appear on sale now and then. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="cdf5c47e-d22e-11f1-8b44-155de0060b65" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="AtiJnFcD3gZUmFd3frqTwH" name="Steelseries_RivalProMini_010.JPG" alt="SteelSeries Rival Pro Mini behind block with UWB base station front and center" src="https://cdn.mos.cms.futurecdn.net/AtiJnFcD3gZUmFd3frqTwH-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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro-mini"><span>How I tested the SteelSeries Rival Pro Mini</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I tested the SteelSeries Rival Pro Mini across the course of a few days, and spent hours using it for both gaming and general productivity purposes.</p><p>For playing games, I made sure to pair the Rival Pro Mini with the LG UltraGear 25G590B 1000Hz gaming monitor, which helped me get the best performance possible out of the mouse. I also made sure to try the mouse with a variety of games, though I mainly used the PC version of <em>Cyberpunk 2077</em> to test its capabilities. What’s more, I made sure to trial all of the mouse’s features and customization options in the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium wireless headphones to mechanical keyboards, and have tested a number of mice, including the <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/mice/steelseries-rival-pro-mini-review</link>
                                                                            <description>
                            <![CDATA[ The SteelSeries Rival Pro Mini offers flagship performance in a compact form, and has all of the features a competitive gamer could want — but it comes at quite the price. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">kUPCeXXtnzwvZKaoJNV3fe</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 23:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mice]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Peripherals & Accessories]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:description>                                                            <media:text><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:text>
                                <media:title type="plain"><![CDATA[Man holding the Steelseries Rival Pro Mini]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9xR3CXjpyNsMw3aLdFbFqG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review"><span>SteelSeries Rival Pro Mini review</span></h2><p>The SteelSeries Rival Pro Mini might just be perfect for you, if you're looking for a compact gaming mouse that makes no sacrifices when it comes to performance.</p><p>The SteelSeries Rival Pro Mini has everything a competitive gamer could ever want, be that true 8K polling, programmable buttons, 42K DPI sensitivity… you name it. It even brings ‘infinite power supply’ tech to the table, meaning you’ll have next to no downtime when duking it out against your opponents.</p><p>However, this mouse doesn’t come cheap. At $179.99 / £169.99 (about AU$250), it sits firmly in the premium category, meaning it has to go above and beyond to prove itself against the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> on the market. But is it truly worth that steep asking price? Here’s my view after hours of intensive testing.</p><p>Let’s start things off by looking at some of the features that the Rival Pro Mini has to offer. I may have piqued your curiosity when I mentioned that ‘infinite’ power supply just now — but what exactly does that mean? </p><p>Well, the Rival Pro Mini and its accompanying Ultra Wideband base station come with hot-swappable batteries. One will slot into your mouse while gaming, and the other will sit in the base station and charge up in the meantime. When your mouse eventually runs dry — around 60 hours with 1K polling or 16 hours with 8K — you can simply pop the battery out of your base station, slot it into your mouse, and continue playing in an instant.</p><p>This is a truly brilliant feature, and means you’ll never run out of juice when competing in a tournament or playing a few casual rounds. Even though the Rival Pro Mini mouse has no USB slot for wired use, this tech means that you’ll never truly need it.</p><p>But there are so many more features to discover on the Rival Pro Mini. First up, you’re getting true 8K polling for ultra-smooth performance. SuperSync is also here, which enables you to independently set tracking and clicking polling rates. There’s also aim tools, 42K DPI sensitivity, and six fully programmable buttons on board. </p><p>You can customize the way that buttons function in the GG app or web platform, which also lets you adjust sensitivity, polling rate, and power management among other things. I found both the downloadable and web app to be incredibly easy to use and navigate, with no shortage of options at my disposal.</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="haez7RJ3FYspxCnrinbweH" name="Steelseries_RivalProMini_007.JPG" alt="SteelSeries Rival Pro Mini with UWB base station" src="https://cdn.mos.cms.futurecdn.net/haez7RJ3FYspxCnrinbweH-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>But just how does the Rival Pro Mini feel to use in practice? Just as good as you’d hope. When playing <em>Cyberpunk 2077 </em>on the <a href="https://www.techradar.com/computing/monitors/lg-reveals-worlds-first-native-1-000hz-gaming-monitor-but-good-luck-trying-to-find-a-gpu-to-drive-it-without-breaking-the-bank">LG UltraGear 25G590B 1000Hz gaming monitor</a>, I was blown away by the all-round quality on offer. When aiming, movement felt supremely stable and accurate, and even basic functions like turning the camera was super smooth and highly responsive. </p><p>In addition, the optical switches had a great feel to them, and allowed me to blast down my foes with unrivaled speed and precision. Like typical optical switches, these aren’t the quietest around, but their satisfying click felt never seemed obnoxiously loud or distracting to me. The mechanical scroll wheel also impressed me with its control and tactility, and its ridges provided ample grip when gaming or simply performing everyday tasks at work.</p><p>This mouse gets it right when it comes to ergonomics too, although it is a more compact model, so if you have larger hands I’d recommend picking up the full-sized Rival Pro instead. But the mouse’s molded exterior and lightweight feel fantastic, and I was able to use the Rival Pro Mini for hours on end without any cramp or fatigue. This is an ergonomic model for right-handed gamers, though, so if you’re a lefty, I’d suggest checking out the symmetrical SteelSeries Sensei Pro Mini.</p><p>The Rival Pro Mini plays it fairly safe looks-wise, but it does have a sleek aesthetic, and the orange scroll wheel gives it a bit of pop. It also has strong build quality, and I liked its lightly textured matte finish, which adds a premium touch. One thing I will say, however, is that this finish does turn the Rival Pro Mini into a bit of a fingerprint magnet, so it’ll need a good wipe down every now and then if you want to keep it looking pristine. Still, fingerprints will likely seem less visible if you opt for the white colorway over the black variant I tested.</p><p>There’s very little holding this mouse back, though one thing could prove to put some gamers off. And you guessed it: it’s that asking price. </p><p>While I think that the Rival Pro Mini offers solid value thanks to its exemplary functionality, at $179.99 / £169.99 (about AU$250), it’s unquestionably expensive. It’s also priced identically to the larger, full-size model — no big deal given that they share the same features, but it would’ve been nice to get this one at an ever-so-slightly lower price. </p><p>When all’s said and done, though, I had an overwhelmingly positive experience with the SteelSeries Rival Pro Mini. Its S-tier performance, clever hot-swappable batteries, and customizable buttons make it a great option, even for the most competitive gamers out there, and if you can stomach the price, it’s well worth picking 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="rASN6BNM2bWUiAC5qmzFZH" name="Steelseries_RivalProMini_003.JPG" alt="Scroll wheel on the SteelSeries Rival Pro Mini" src="https://cdn.mos.cms.futurecdn.net/rASN6BNM2bWUiAC5qmzFZH-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><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-price-release-date"><span>SteelSeries Rival Pro Mini review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro Mini first arrived in October 2026 alongside three other models, namely the larger SteelSeries Rival Pro, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro Mini has the same list price as the full-sized model, coming in at $179.99 / £169.99 (about AU$250). As you’d expect, that places it in the premium category with competition including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a> — both of which you can learn more about in the ‘also consider’ section.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-specs"><span>SteelSeries Rival Pro Mini review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.75 x 2.57 x 1.59 inches / 120.7 x 65.4 x 40.5mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.7oz / 49g</p></td></tr></tbody></table></div><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="iAHbaUFJjw492hdByQYZzH" name="Steelseries_RivalProMini_012.JPG" alt="SteelSeries Rival Pro Mini with various accessories" src="https://cdn.mos.cms.futurecdn.net/iAHbaUFJjw492hdByQYZzH-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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro-mini"><span>Should I buy the SteelSeries Rival Pro Mini?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Great ergonomics, ultra-lightweight, great build quality, and nice matte finish — although it's a bit of a fingerprint magnet.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>8K polling with SuperSync, top-tier 42K DPI sensitivity, practical infinite power system.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Steep price, and just as expensive as the full-sized model, but incredibly high overall quality.</p></td><td  ><p>3.5/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-2">Buy it if…</h2><div class="product"><p><strong>You want top-tier performance</strong><br />Whether you’re an esports competitor or an FPS fanatic, the features on the Rival Pro Mini are sure to cover all of the bases. You get true 8K polling, 42K DPI sensitivity, and plenty of customization options in the GG app and web platform to get you ready for competitive play.</p></div><div class="product"><p><strong>You want a mouse with unbeatable battery life</strong><br />The hot-swappable batteries on the Rival Pro Mini ensure that you’ll never run out of battery life when playing your favorite games. Sure, you’ll have to swap in the battery from your base station when your mouse runs dry, but otherwise you’ll experience no down time whatsoever.</p></div><h2 id="don-t-buy-it-if-2">Don’t buy it if…</h2><div class="product"><p><strong>You have larger hands</strong><br />If you’re someone with larger hands, then you may find the SteelSeries Rival Pro Mini to be a little undersized. I’d recommend just stepping up to the full-size Rival Pro, which is virtually identical to the Mini, just a bit bigger and marginally weightier.</p></div><div class="product"><p><strong>You don’t need the most advanced gaming features</strong><br />Unless you’re playing games that need high levels of precision, then I’d say that the Rival Pro Mini might be overkill for you. After all, it comes in at a very high asking price, and there are plenty of great options available for less than $100 / £100.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-mini-review-also-consider"><span>SteelSeries Rival Pro Mini review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We’re big fans of this Logitech mouse here at TechRadar. When we tested it we were wowed by its ultra-low click and sensor latency, excellent switches, and great build quality — though like its SteelSeries rival, this mouse is pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="cdf5c41a-d22e-11f1-b8d2-c31e11ac6d07" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>. </p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a spectacular gaming mouse, and competes with the very best models on the market. It supplies exceptional performance, a brilliant optical scroll wheel, and marvelous ergonomics too. It comes in at a similar cost to its SteelSeries rival, though we have seen this Razer mouse appear on sale now and then. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="cdf5c47e-d22e-11f1-8b44-155de0060b65" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="AtiJnFcD3gZUmFd3frqTwH" name="Steelseries_RivalProMini_010.JPG" alt="SteelSeries Rival Pro Mini behind block with UWB base station front and center" src="https://cdn.mos.cms.futurecdn.net/AtiJnFcD3gZUmFd3frqTwH-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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro-mini"><span>How I tested the SteelSeries Rival Pro Mini</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I tested the SteelSeries Rival Pro Mini across the course of a few days, and spent hours using it for both gaming and general productivity purposes.</p><p>For playing games, I made sure to pair the Rival Pro Mini with the LG UltraGear 25G590B 1000Hz gaming monitor, which helped me get the best performance possible out of the mouse. I also made sure to try the mouse with a variety of games, though I mainly used the PC version of <em>Cyberpunk 2077</em> to test its capabilities. What’s more, I made sure to trial all of the mouse’s features and customization options in the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium wireless headphones to mechanical keyboards, and have tested a number of mice, including the <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Windows 11's taskbar still can't be dragged — here's why that's the case ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The ability to reposition the taskbar came to Windows 11 in September</strong></li><li><strong>However, you can't drag the taskbar around as with Windows 10 — you must move it using a panel in the Settings app</strong></li><li><strong>Some power-users want an option to drag it around the desktop quickly, and Microsoft has now explained why it decided against this</strong></li></ul><p>One of the long-awaited major Windows 11 interface changes this year has been the ability to move the taskbar.</p><p>You'll likely recall that there was quite a big fuss that this functionality, which was present in Windows 10, didn't make the cut for Windows 11. It wasn't alone, either, as there were plenty of key interface options that weren't ported over from the older operating system — <a href="https://www.techradar.com/news/one-of-the-most-wanted-windows-11-features-is-now-working-sort-of">many of which have since been addressed</a>.</p><p>Windows 11 received the ability to shift the taskbar to the top, or either side, of the screen in the <a href="https://www.techradar.com/computing/windows/windows-11s-september-update-has-arrived-here-are-the-3-key-features-that-make-this-a-must-install-upgrade">September 2026 update</a> (or that was when the rollout began — everyone should have it by now, though). Before that, the taskbar was anchored steadfastly to the bottom of the desktop, and you couldn't move it anywhere.</p><p>However, Windows 11's implementation of the now mobile taskbar has still come under fire from some users. It's gotten to the point where a Microsoft exec has responded to explain the thinking behind the feature, as <a href="https://www.windowslatest.com/2026/11/02/microsofts-design-boss-fires-back-at-windows-11-critics-over-a-missing-windows-10-feature-but-admits-its-decisions-arent-perfect-far-from-it/" target="_blank">Windows Latest highlighted</a>.</p><p>The beef is that while the taskbar is now movable, you can't simply drag it around the desktop. Moving the taskbar requires you to head into the Settings app, diving down a level to pick your alignment.</p><p>It's not possible to seize the taskbar with your mouse cursor and whizz it across the desktop to a new position. There are users who want the convenience of being able to do that, but Microsoft's Diego Baca, who is VP of Design for Windows, has defended the company's decision to drop this particular option for taskbar repositioning. </p><h2 id="the-danger-of-accidental-drags">The danger of accidental drags</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BVxB95SXDVaEroURpfrvfU" name="taskbar-image" alt="Windows 11 taskbar shown in different positions" src="https://cdn.mos.cms.futurecdn.net/BVxB95SXDVaEroURpfrvfU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>As Baca observes, this choice was made because, with Windows 10's draggable taskbar, Microsoft "saw a significant volume of accidental taskbar movements." Meaning users clicking on the bar for another reason mistakenly picked it up and shifted it elsewhere, which was obviously annoying.</p><p>The other point Baca makes — and it's a good one — is who needs to move the taskbar to different positions on the desktop with any regularity? Not many folks, but nonetheless, power-users who might do so have been arguing for the introduction of some kind of option to make the taskbar draggable in this way.</p><p>Windows Latest itself suggested a 'lock the taskbar' option (as seen in Windows 10) to ensure it couldn't be dragged mistakenly, noting that this should be on by default. But Baca argued that this isn't a good solution because it introduces more 'friction' to the Windows 11 interface. The exec noted in a <a href="https://x.com/bacadd/status/2117006209677201846" target="_blank">post on X</a>: "For those suggesting an 'auto-lock' or lock/unlock setting as a magic solution, it really isn't that simple. You're introducing additional friction to solve a relatively infrequent task. Now, every time you want to move the taskbar, you first need to unlock it."</p><p>It's a fair point, and the crux of the matter is that the number of Windows 11 power-users who will actually benefit from quick taskbar dragging is very few compared to the pool of massed casual users who could potentially run afoul of the feature. As this <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkn032/comment/19rylcr20lnes/" target="_blank">Redditor observes</a> from their experiences with the Windows 10 taskbar: "Honestly, looking back, there were several times when older family members would ask me why theirs is on the side of their screen. People did move it accidentally."</p><p>And this was even the case when the taskbar was locked to prevent that (presumably because of more taskbar misclicking and accidentally turning the lock off). Of course, when this occurred, those less tech-savvy types had no idea what had happened, or how to rectify it. And that seems a greater danger than a lack of a draggable taskbar, based on how often that kind of movement is needed for anyone but a niche of very specific power users. In this way, the taskbar design decisions are an understandable trade-off, at least in my opinion.</p><p>I should note that Baca also makes it clear that this isn't a final decision, or the be-all-and-end-all of the debate over a draggable taskbar. Baca concludes the X post: "Please don't turn an explanation of a design decision into a declaration that something will 'NEVER' happen. That's simply not what I said."</p><p>So, there might be hope yet for those who want taskbar dragging. Indeed, I wonder if a solution that Microsoft previously tested could return, one that Windows Latest reminded us about: namely having the four taskbar position icons from Settings directly accessible via the right-click menu on the taskbar. </p><h2 id="third-party-alternatives-for-taskbar-dragging-in-windows-11">Third-party alternatives for taskbar dragging in Windows 11</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hPXVSQQcqxtQVEuKQ2wooD" name="Windows 11 marketing image" alt="A person using a Windows 11 laptop" src="https://cdn.mos.cms.futurecdn.net/hPXVSQQcqxtQVEuKQ2wooD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Overall, I think Microsoft's stance here is correct on balance. So, as it stands for now, power users who want to drag the Windows 11 taskbar around with <a href="https://www.reddit.com/r/Windows11/comments/1xlxpw5/comment/19s1x07efljb4/">some regularity due to their workflow</a> are left feeling out in the cold and will need to use a third-party tool to do so. </p><p>What third-party software is recommended for this use? A dedicated app called <a href="https://github.com/michalleptuch/TaskbarLocationOptions" target="_blank">Taskbar Location Options on GitHub</a> (hat tip to <a href="https://www.windowscentral.com/software-apps/this-free-app-makes-moving-the-windows-11-taskbar-so-much-easier" target="_blank">Windows Central</a>) is a good choice, restoring the ability to drag the taskbar at any time (or use right-click menu settings directly on the bar). This tool is handy because it's a simple and lightweight effort for those who just need dragging functionality and don't want to install a full modding suite to achieve this. </p><p>There's also a <a href="https://windhawk.net/mods/taskbar-drag-lock" target="_blank">mod</a> for <a href="https://windhawk.net/" target="_blank">Windhawk</a>, which is a popular Windows 11 customization suite you can load up with add-ons, that allows for taskbar dragging (and locking). As always, though, use any third-party software at your own risk, and remember that customization tools like these can sometimes run into trouble with Windows 11 updates.</p><p>Microsoft's patches can tinker with interface elements under the hood, and this may break any of these third-party customization utilities until the developer can patch. Power users will doubtless be more than aware of this, mind, but I figured it's worth mentioning.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/windows/windows-11s-taskbar-can-now-be-moved-but-not-by-dragging-heres-why-microsoft-made-that-decision-and-what-to-do-about-it-if-youre-not-happy</link>
                                                                            <description>
                            <![CDATA[ Are the new taskbar repositioning controls a drag? No, they aren't — dragging is off the table — and that's why some power-users have a problem. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YQNMhbjiJfxMr94kWsY889</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5KK2m2A35afwd8WgVU2hVX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 23:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Windows]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/5KK2m2A35afwd8WgVU2hVX-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock/Prostock-studio]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A man sitting at a table and looking at a laptop with a puzzled expression, holding his head up with his hand]]></media:description>                                                            <media:text><![CDATA[A man sitting at a table and looking at a laptop with a puzzled expression, holding his head up with his hand]]></media:text>
                                <media:title type="plain"><![CDATA[A man sitting at a table and looking at a laptop with a puzzled expression, holding his head up with his hand]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5KK2m2A35afwd8WgVU2hVX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The ability to reposition the taskbar came to Windows 11 in September</strong></li><li><strong>However, you can't drag the taskbar around as with Windows 10 — you must move it using a panel in the Settings app</strong></li><li><strong>Some power-users want an option to drag it around the desktop quickly, and Microsoft has now explained why it decided against this</strong></li></ul><p>One of the long-awaited major Windows 11 interface changes this year has been the ability to move the taskbar.</p><p>You'll likely recall that there was quite a big fuss that this functionality, which was present in Windows 10, didn't make the cut for Windows 11. It wasn't alone, either, as there were plenty of key interface options that weren't ported over from the older operating system — <a href="https://www.techradar.com/news/one-of-the-most-wanted-windows-11-features-is-now-working-sort-of">many of which have since been addressed</a>.</p><p>Windows 11 received the ability to shift the taskbar to the top, or either side, of the screen in the <a href="https://www.techradar.com/computing/windows/windows-11s-september-update-has-arrived-here-are-the-3-key-features-that-make-this-a-must-install-upgrade">September 2026 update</a> (or that was when the rollout began — everyone should have it by now, though). Before that, the taskbar was anchored steadfastly to the bottom of the desktop, and you couldn't move it anywhere.</p><p>However, Windows 11's implementation of the now mobile taskbar has still come under fire from some users. It's gotten to the point where a Microsoft exec has responded to explain the thinking behind the feature, as <a href="https://www.windowslatest.com/2026/11/02/microsofts-design-boss-fires-back-at-windows-11-critics-over-a-missing-windows-10-feature-but-admits-its-decisions-arent-perfect-far-from-it/" target="_blank">Windows Latest highlighted</a>.</p><p>The beef is that while the taskbar is now movable, you can't simply drag it around the desktop. Moving the taskbar requires you to head into the Settings app, diving down a level to pick your alignment.</p><p>It's not possible to seize the taskbar with your mouse cursor and whizz it across the desktop to a new position. There are users who want the convenience of being able to do that, but Microsoft's Diego Baca, who is VP of Design for Windows, has defended the company's decision to drop this particular option for taskbar repositioning. </p><h2 id="the-danger-of-accidental-drags">The danger of accidental drags</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="BVxB95SXDVaEroURpfrvfU" name="taskbar-image" alt="Windows 11 taskbar shown in different positions" src="https://cdn.mos.cms.futurecdn.net/BVxB95SXDVaEroURpfrvfU-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>As Baca observes, this choice was made because, with Windows 10's draggable taskbar, Microsoft "saw a significant volume of accidental taskbar movements." Meaning users clicking on the bar for another reason mistakenly picked it up and shifted it elsewhere, which was obviously annoying.</p><p>The other point Baca makes — and it's a good one — is who needs to move the taskbar to different positions on the desktop with any regularity? Not many folks, but nonetheless, power-users who might do so have been arguing for the introduction of some kind of option to make the taskbar draggable in this way.</p><p>Windows Latest itself suggested a 'lock the taskbar' option (as seen in Windows 10) to ensure it couldn't be dragged mistakenly, noting that this should be on by default. But Baca argued that this isn't a good solution because it introduces more 'friction' to the Windows 11 interface. The exec noted in a <a href="https://x.com/bacadd/status/2117006209677201846" target="_blank">post on X</a>: "For those suggesting an 'auto-lock' or lock/unlock setting as a magic solution, it really isn't that simple. You're introducing additional friction to solve a relatively infrequent task. Now, every time you want to move the taskbar, you first need to unlock it."</p><p>It's a fair point, and the crux of the matter is that the number of Windows 11 power-users who will actually benefit from quick taskbar dragging is very few compared to the pool of massed casual users who could potentially run afoul of the feature. As this <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkn032/comment/19rylcr20lnes/" target="_blank">Redditor observes</a> from their experiences with the Windows 10 taskbar: "Honestly, looking back, there were several times when older family members would ask me why theirs is on the side of their screen. People did move it accidentally."</p><p>And this was even the case when the taskbar was locked to prevent that (presumably because of more taskbar misclicking and accidentally turning the lock off). Of course, when this occurred, those less tech-savvy types had no idea what had happened, or how to rectify it. And that seems a greater danger than a lack of a draggable taskbar, based on how often that kind of movement is needed for anyone but a niche of very specific power users. In this way, the taskbar design decisions are an understandable trade-off, at least in my opinion.</p><p>I should note that Baca also makes it clear that this isn't a final decision, or the be-all-and-end-all of the debate over a draggable taskbar. Baca concludes the X post: "Please don't turn an explanation of a design decision into a declaration that something will 'NEVER' happen. That's simply not what I said."</p><p>So, there might be hope yet for those who want taskbar dragging. Indeed, I wonder if a solution that Microsoft previously tested could return, one that Windows Latest reminded us about: namely having the four taskbar position icons from Settings directly accessible via the right-click menu on the taskbar. </p><h2 id="third-party-alternatives-for-taskbar-dragging-in-windows-11">Third-party alternatives for taskbar dragging in Windows 11</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2048px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="hPXVSQQcqxtQVEuKQ2wooD" name="Windows 11 marketing image" alt="A person using a Windows 11 laptop" src="https://cdn.mos.cms.futurecdn.net/hPXVSQQcqxtQVEuKQ2wooD-1920-80.jpg" mos="" align="middle" fullscreen="" width="2048" height="1152" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Overall, I think Microsoft's stance here is correct on balance. So, as it stands for now, power users who want to drag the Windows 11 taskbar around with <a href="https://www.reddit.com/r/Windows11/comments/1xlxpw5/comment/19s1x07efljb4/">some regularity due to their workflow</a> are left feeling out in the cold and will need to use a third-party tool to do so. </p><p>What third-party software is recommended for this use? A dedicated app called <a href="https://github.com/michalleptuch/TaskbarLocationOptions" target="_blank">Taskbar Location Options on GitHub</a> (hat tip to <a href="https://www.windowscentral.com/software-apps/this-free-app-makes-moving-the-windows-11-taskbar-so-much-easier" target="_blank">Windows Central</a>) is a good choice, restoring the ability to drag the taskbar at any time (or use right-click menu settings directly on the bar). This tool is handy because it's a simple and lightweight effort for those who just need dragging functionality and don't want to install a full modding suite to achieve this. </p><p>There's also a <a href="https://windhawk.net/mods/taskbar-drag-lock" target="_blank">mod</a> for <a href="https://windhawk.net/" target="_blank">Windhawk</a>, which is a popular Windows 11 customization suite you can load up with add-ons, that allows for taskbar dragging (and locking). As always, though, use any third-party software at your own risk, and remember that customization tools like these can sometimes run into trouble with Windows 11 updates.</p><p>Microsoft's patches can tinker with interface elements under the hood, and this may break any of these third-party customization utilities until the developer can patch. Power users will doubtless be more than aware of this, mind, but I figured it's worth mentioning.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hacker steals millions by scamming high-stakes online poker games with this devious malware attack ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Malware allegedly gave a poker cheat access to opponents' computer screens</strong></li><li><strong>Hundreds of online poker players may have suffered financial losses</strong></li><li><strong>MeshAgent reportedly helped the attacker monitor selected players during games</strong></li></ul><p>Online poker players are facing allegations of a cheating operation that may have cost participants millions of dollars across online gambling sites.</p><p>Wired <a href="https://www.wired.com/story/a-hacker-targeted-high-stakes-poker-players-with-malware-that-exposed-their-cards/" target="_blank" rel="nofollow">reports</a> that hundreds of people on major gambling platforms were allegedly affected by malicious software installed on selected players’ computers.</p><p>The software allegedly allowed the attacker to monitor victims’ computer screens and obtain information that could influence decisions during poker games.</p><h2 id="malware-allegedly-exposed-players-private-information">Malware allegedly exposed players’ private information</h2><p>The incident involves a form of poker fraud known as “superuser” cheating, in which someone obtains information unavailable to ordinary participants.</p><p>Rather than exploiting one poker platform directly, the alleged attacker reportedly took advantage of external applications used to manage multiple tables.</p><p>Those applications allegedly provided a way to install MeshAgent, a remote administration programme, on computers belonging to selected opponents without their knowledge.</p><p>After installation, the software reportedly enabled the intruder to view activity displayed on victims’ computers while they played online poker.</p><p>Such access could expose opponents’ private cards, giving the person controlling the malware information unavailable through legitimate participation during games.</p><p>That advantage could influence decisions during expensive hands and allow the alleged cheater to win money from unsuspecting players.</p><p>The activity is described as a prolonged campaign involving customers across several major online poker services, rather than one isolated incident.</p><p>The reports claim the perpetrator is known within poker circles, but withheld the person’s identity because no criminal charges have been filed.</p><h2 id="different-platforms-take-different-approaches-to-the-allegations">Different platforms take different approaches to the allegations</h2><p>The companies involved have responded differently, with one service reportedly removing the account before the <a href="https://www.techradar.com/best/best-malware-removal">malware</a> operation became publicly known.</p><p>That platform had identified unusually strong results and questionable playing patterns through its monitoring system.</p><p>Other services released security checks intended to help customers establish whether MeshAgent had been installed on their computers.</p><p>Another operator faced complaints about the account yet reportedly allowed the suspected cheater to continue playing on its platform.</p><p>The company later said its investigation had found no evidence that compromised devices had affected the results of games.</p><p>It also refused to reimburse customers who believed the alleged cheating had caused them significant financial losses.</p><p>That response has left affected players uncertain about whether they can recover money and how responsibility for losses will be determined.</p><p>If the reported screen access occurred, investigators would need to identify compromised accounts and establish which games produced unfair results.</p><p>Such an assessment could be difficult because the alleged activity involved many players and several separate gambling services.</p><p>The case also draws attention to risks associated with software that poker participants install independently to organize simultaneous games.</p><p>Although these applications can make multi-table play easier, they may introduce additional ways for malicious programmes to reach personal computers.</p><p>Players using such tools may therefore need to consider security risks beyond those covered by the gambling platforms themselves.</p><p>As of the time of writing, there is no information on the total amount stolen, the number of confirmed victims, or whether authorities are investigating the case.</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:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="diM9tpwF2Lz85R8q85CT78" name="tr-g_news" alt="Google logo on a black background next to text reading 'Click to follow TechRadar'" src="https://cdn.mos.cms.futurecdn.net/diM9tpwF2Lz85R8q85CT78-1920-80.jpg" mos="" align="middle" fullscreen="" width="676" height="213" attribution="" endorsement="" class="inline" /></p></div></div></figure> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/cyber-security/hacker-steals-millions-by-scamming-high-stakes-online-poker-games-with-this-devious-malware-attack</link>
                                                                            <description>
                            <![CDATA[ Hundreds of online poker players may have lost millions after malware allegedly gave a hacker access to their computer screens during games. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">o4aSSTWeQv7VedUs5yVbs8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/ef129ede0539ed869971d5ae9125bab7-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 20:30:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Cyber Crime]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Efosa Udinmwen ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/nwRLdPUNG4rWu4Y6nthHDV-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Efosa has been writing about technology for over 7 years, initially driven by curiosity but now fueled by a strong passion for the field. He holds both a Master&#039;s and a PhD in sciences, which provided him with a solid foundation in analytical thinking. Efosa developed a keen interest in technology policy, specifically exploring the intersection of privacy, security, and politics. His research delves into how technological advancements influence regulatory frameworks and societal norms, particularly concerning data protection and cybersecurity.&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/ef129ede0539ed869971d5ae9125bab7-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[poker game]]></media:description>                                                            <media:text><![CDATA[poker game]]></media:text>
                                <media:title type="plain"><![CDATA[poker game]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/ef129ede0539ed869971d5ae9125bab7-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Malware allegedly gave a poker cheat access to opponents' computer screens</strong></li><li><strong>Hundreds of online poker players may have suffered financial losses</strong></li><li><strong>MeshAgent reportedly helped the attacker monitor selected players during games</strong></li></ul><p>Online poker players are facing allegations of a cheating operation that may have cost participants millions of dollars across online gambling sites.</p><p>Wired <a href="https://www.wired.com/story/a-hacker-targeted-high-stakes-poker-players-with-malware-that-exposed-their-cards/" target="_blank" rel="nofollow">reports</a> that hundreds of people on major gambling platforms were allegedly affected by malicious software installed on selected players’ computers.</p><p>The software allegedly allowed the attacker to monitor victims’ computer screens and obtain information that could influence decisions during poker games.</p><h2 id="malware-allegedly-exposed-players-private-information">Malware allegedly exposed players’ private information</h2><p>The incident involves a form of poker fraud known as “superuser” cheating, in which someone obtains information unavailable to ordinary participants.</p><p>Rather than exploiting one poker platform directly, the alleged attacker reportedly took advantage of external applications used to manage multiple tables.</p><p>Those applications allegedly provided a way to install MeshAgent, a remote administration programme, on computers belonging to selected opponents without their knowledge.</p><p>After installation, the software reportedly enabled the intruder to view activity displayed on victims’ computers while they played online poker.</p><p>Such access could expose opponents’ private cards, giving the person controlling the malware information unavailable through legitimate participation during games.</p><p>That advantage could influence decisions during expensive hands and allow the alleged cheater to win money from unsuspecting players.</p><p>The activity is described as a prolonged campaign involving customers across several major online poker services, rather than one isolated incident.</p><p>The reports claim the perpetrator is known within poker circles, but withheld the person’s identity because no criminal charges have been filed.</p><h2 id="different-platforms-take-different-approaches-to-the-allegations">Different platforms take different approaches to the allegations</h2><p>The companies involved have responded differently, with one service reportedly removing the account before the <a href="https://www.techradar.com/best/best-malware-removal">malware</a> operation became publicly known.</p><p>That platform had identified unusually strong results and questionable playing patterns through its monitoring system.</p><p>Other services released security checks intended to help customers establish whether MeshAgent had been installed on their computers.</p><p>Another operator faced complaints about the account yet reportedly allowed the suspected cheater to continue playing on its platform.</p><p>The company later said its investigation had found no evidence that compromised devices had affected the results of games.</p><p>It also refused to reimburse customers who believed the alleged cheating had caused them significant financial losses.</p><p>That response has left affected players uncertain about whether they can recover money and how responsibility for losses will be determined.</p><p>If the reported screen access occurred, investigators would need to identify compromised accounts and establish which games produced unfair results.</p><p>Such an assessment could be difficult because the alleged activity involved many players and several separate gambling services.</p><p>The case also draws attention to risks associated with software that poker participants install independently to organize simultaneous games.</p><p>Although these applications can make multi-table play easier, they may introduce additional ways for malicious programmes to reach personal computers.</p><p>Players using such tools may therefore need to consider security risks beyond those covered by the gambling platforms themselves.</p><p>As of the time of writing, there is no information on the total amount stolen, the number of confirmed victims, or whether authorities are investigating the case.</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:676px;"><p class="vanilla-image-block" style="padding-top:31.51%;"><img id="diM9tpwF2Lz85R8q85CT78" name="tr-g_news" alt="Google logo on a black background next to text reading 'Click to follow TechRadar'" src="https://cdn.mos.cms.futurecdn.net/diM9tpwF2Lz85R8q85CT78-1920-80.jpg" mos="" align="middle" fullscreen="" width="676" height="213" attribution="" endorsement="" class="inline" /></p></div></div></figure>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Global data breaches jump 13% as UK leaks more than double — and Ukraine rockets up the rankings ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Surfshark recorded 121.8 million breached accounts worldwide in Q3 2026, up 13.2% on the previous quarter.</strong></li><li><strong>The UK overtook France as Europe's most breached country, while Ukraine jumped from 47th to 6th globally.</strong></li><li><strong>The US still accounts for almost a third of all leaks, and experts say limiting what you share is your best defense.</strong></li></ul><p>More than 121.8 million online accounts were compromised around the world between July and September 2026, according to new research from <a href="https://surfshark.com/research/data-breach-monitoring">Surfshark</a>. That's a 13.2% rise on the previous quarter.</p><p>The UK saw the most dramatic shift. Its leaked account count more than doubled to 5.8 million, a 121.6% jump that pushed it past France to become Europe's most breached country.</p><p>Ukraine also surged up the rankings, climbing from 47th place to 6th globally after 2.6 million accounts were breached in just three months.</p><p>Most breaches happen on a company's servers rather than your own device, so even the <a href="https://www.techradar.com/vpn/best-vpn">best VPN</a> can't stop your details from leaking. There are still steps you can take to limit the damage, though.</p><h2 id="europe-is-under-growing-pressure">Europe is under growing pressure</h2><p>The UK's rise came during a busy quarter for attacks on British organizations. In late July, extortion group ExfilSquad claimed it had stolen contact details for more than 100,000 police officers and staff from the <a href="https://www.techradar.com/pro/security/over-100-000-uk-police-and-staff-have-personal-data-leaked-in-attack-on-national-database">Police National Legal Database</a>. </p><p>The same group also claimed to have leaked around 600,000 records from the Department for Education.</p><p>Ukraine's climb fits a wider pattern. Microsoft's Digital Defense Report 2026 ranked the country first in Europe and third worldwide for cyberattacks in the first half of the year. </p><p>Ukraine's CERT-UA also handled around 200 incidents targeting citizens between January and September, up from 80 a year earlier, many involving phishing for Telegram and Signal logins.</p><p>"We can see attacks vary across countries as attackers seek the juiciest targets, sometimes for financial, and sometimes for political gain," said Tomas Stamulis, Chief Security Officer at Surfshark.</p><p>It's not just about raw numbers, either. Estonia had the highest breach density in the world at 118 breached accounts per 1,000 people, ahead of Australia, the US, and the UK.</p><h2 id="the-us-still-leads-the-way">The US still leads the way</h2><p>Globally, the US remained the most breached country with 38.1 million leaked accounts, or 31% of the total. Brazil (7M), the UK (5.8M), India (5.5M), and Australia (3.1M) completed the top five.</p><p>France, meanwhile, cooled off sharply. It recorded 2.4 million breached accounts, down from 19.7 million in Q2, and dropped out of the top three for the first time this year.</p><h2 id="how-to-stay-safe">How to stay safe</h2><p>Stamulis warns that stolen data can sit hidden for long periods before criminals decide to use it. </p><p>His advice is to treat personal information as sensitive by default, only share your real details when it's genuinely necessary, such as on official forms, and use an alias, secondary email address, or email masking service for everything else.</p><p>A <a href="https://www.techradar.com/pro/security/best-password-manager-of-2026-expert-recommendations-for-your-credential-security">password manager</a> also helps ensure one leaked login doesn't unlock your other accounts. Meanwhile, <a href="https://www.techradar.com/best/best-identity-theft-protection">identity theft protection</a> and <a href="https://www.techradar.com/pro/best-data-removal-services-of-year">data removal services</a> can alert you to exposure and reduce how much of your information is out there.</p><div data-widget-type="review" data-model-name="Surfshark"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/cyber-security/global-data-breaches-jump-13-percent-as-uk-leaks-more-than-double-and-ukraine-rockets-up-the-rankings</link>
                                                                            <description>
                            <![CDATA[ New Surfshark research shows global data breaches rose 13% in Q3 2026, with UK leaks more than doubling and Ukraine climbing to 6th place worldwide. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ABj4mN985EqfNavF8cexnP</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5rDPr5xYvLwnkP7ZvpR2w3-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 17:54:50 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 17:54:57 +0000</updated>
                                                                                                                                            <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                                                                <author><![CDATA[ monicajwrites@gmail.com (Monica J. White) ]]></author>                    <dc:creator><![CDATA[ Monica J. White ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/6AQ4y5nzk8kQ47Yp69GERj-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Monica is a journalist with over a decade of experience in covering technology.&lt;/p&gt;&lt;p&gt;She writes about the latest developments in computing, which means anything from computer chips made out of paper to cutting-edge desktop processors. Her coverage includes CPUs, GPUs, and everything else that goes into a PC or a laptop, but also peripherals.&lt;/p&gt;&lt;p&gt;GPUs are Monica’s main area of interest, and nothing thrills her quite like that time every couple of years when new graphics cards hit the market. She’s always keeping tabs on the latest from Nvidia, AMD, and Intel, including both the hardware and the software that powers our PCs.&lt;/p&gt;&lt;p&gt;As an avid gamer, her focus is always on the consumer and whether something works well and provides adequate value for the money. She believes that PC building can be intimidating, so her goal is to explain complex concepts in an approachable manner while still digging into the technical nitty-gritty we all love to learn more about.&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/5rDPr5xYvLwnkP7ZvpR2w3-1920-80.jpg">
                                                            <media:credit><![CDATA[sarayut Thaneerat/ via Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Caution sign data unlocking hackers. Malicious software, virus and cybercrime, System warning hacked alert, cyberattack on online network, data breach, risk of website]]></media:description>                                                            <media:text><![CDATA[Caution sign data unlocking hackers. Malicious software, virus and cybercrime, System warning hacked alert, cyberattack on online network, data breach, risk of website]]></media:text>
                                <media:title type="plain"><![CDATA[Caution sign data unlocking hackers. Malicious software, virus and cybercrime, System warning hacked alert, cyberattack on online network, data breach, risk of website]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5rDPr5xYvLwnkP7ZvpR2w3-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Surfshark recorded 121.8 million breached accounts worldwide in Q3 2026, up 13.2% on the previous quarter.</strong></li><li><strong>The UK overtook France as Europe's most breached country, while Ukraine jumped from 47th to 6th globally.</strong></li><li><strong>The US still accounts for almost a third of all leaks, and experts say limiting what you share is your best defense.</strong></li></ul><p>More than 121.8 million online accounts were compromised around the world between July and September 2026, according to new research from <a href="https://surfshark.com/research/data-breach-monitoring">Surfshark</a>. That's a 13.2% rise on the previous quarter.</p><p>The UK saw the most dramatic shift. Its leaked account count more than doubled to 5.8 million, a 121.6% jump that pushed it past France to become Europe's most breached country.</p><p>Ukraine also surged up the rankings, climbing from 47th place to 6th globally after 2.6 million accounts were breached in just three months.</p><p>Most breaches happen on a company's servers rather than your own device, so even the <a href="https://www.techradar.com/vpn/best-vpn">best VPN</a> can't stop your details from leaking. There are still steps you can take to limit the damage, though.</p><h2 id="europe-is-under-growing-pressure">Europe is under growing pressure</h2><p>The UK's rise came during a busy quarter for attacks on British organizations. In late July, extortion group ExfilSquad claimed it had stolen contact details for more than 100,000 police officers and staff from the <a href="https://www.techradar.com/pro/security/over-100-000-uk-police-and-staff-have-personal-data-leaked-in-attack-on-national-database">Police National Legal Database</a>. </p><p>The same group also claimed to have leaked around 600,000 records from the Department for Education.</p><p>Ukraine's climb fits a wider pattern. Microsoft's Digital Defense Report 2026 ranked the country first in Europe and third worldwide for cyberattacks in the first half of the year. </p><p>Ukraine's CERT-UA also handled around 200 incidents targeting citizens between January and September, up from 80 a year earlier, many involving phishing for Telegram and Signal logins.</p><p>"We can see attacks vary across countries as attackers seek the juiciest targets, sometimes for financial, and sometimes for political gain," said Tomas Stamulis, Chief Security Officer at Surfshark.</p><p>It's not just about raw numbers, either. Estonia had the highest breach density in the world at 118 breached accounts per 1,000 people, ahead of Australia, the US, and the UK.</p><h2 id="the-us-still-leads-the-way">The US still leads the way</h2><p>Globally, the US remained the most breached country with 38.1 million leaked accounts, or 31% of the total. Brazil (7M), the UK (5.8M), India (5.5M), and Australia (3.1M) completed the top five.</p><p>France, meanwhile, cooled off sharply. It recorded 2.4 million breached accounts, down from 19.7 million in Q2, and dropped out of the top three for the first time this year.</p><h2 id="how-to-stay-safe">How to stay safe</h2><p>Stamulis warns that stolen data can sit hidden for long periods before criminals decide to use it. </p><p>His advice is to treat personal information as sensitive by default, only share your real details when it's genuinely necessary, such as on official forms, and use an alias, secondary email address, or email masking service for everything else.</p><p>A <a href="https://www.techradar.com/pro/security/best-password-manager-of-2026-expert-recommendations-for-your-credential-security">password manager</a> also helps ensure one leaked login doesn't unlock your other accounts. Meanwhile, <a href="https://www.techradar.com/best/best-identity-theft-protection">identity theft protection</a> and <a href="https://www.techradar.com/pro/best-data-removal-services-of-year">data removal services</a> can alert you to exposure and reduce how much of your information is out there.</p><div data-widget-type="review" data-model-name="Surfshark"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Singapore Airlines says 46,000 booking records hit following Amadeus breach ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Singapore Airlines confirms customer data exposure through a breach at travel technology provider Amadeus</strong></li><li><strong>Stolen booking records included passenger details, itineraries, and limited passport and loyalty-program information</strong></li><li><strong>Multiple major airlines were affected, raising phishing and identity-fraud concerns for travelers</strong></li></ul><p>Singapore Airlines has become the latest in the seemingly growing list of airlines affected by a breach at a third-party technology provider.</p><p>Amadeus, a Spanish technology company that airlines and airports use to manage reservations, bookings, and overall passenger management, recently issued a brief statement saying it “became aware of a vulnerability affecting a travel booking display environment.” </p><p>In the announcement, Amadeus said certain booking-display data was accessible to the attackers but stressed that there was no evidence of payment or financial data being accessed. </p><p>“There are no indications that this vulnerability has been exploited for ransomware purposes,” the company said, adding that it “implemented measures to fix the vulnerability as well as enhanced monitoring and detection capabilities.”</p><p>In the meantime, numerous airlines started reporting sensitive data compromise as a result of this breach.</p><h2 id="cathay-pacific-japan-airlines-and-more">Cathay Pacific, Japan Airlines, and more</h2><p>Hong Kong’s flagship international airline, Cathay Pacific, issued a statement saying Amadeus notified it about a breach and “unauthorized access to travel reservation data” by a threat actor that used login credentials assigned to a system account. </p><p>Amadeus then told Cathay Pacific around 53,000 bookings were affected, and that the exposure took place between August 2023 and September 2026. “In the majority of cases, the information accessed included booking reference, passenger name, and flight details,” the airline said, adding that in a “smaller subset of cases”, additional data such as email and phone contacts, travel documents and/or frequent flyer numbers were also exposed. </p><p>The same day, Japan Airlines and Japan Transocean Air both shared similar news, saying a “portion of customer reservation data” had been accessed by an unauthorized third party. </p><p>Japan Airlines said some 92,000 customers were affected, including approximately 2,000 of those whose passport numbers were also exposed. All Nippon Airways said 37,800 of its customers were affected, including around 1,700 with additional data exposure. Korean Air, Asiana Airlines, and Malaysia Airlines, all confirmed being affected by the Amadeus incident, while Qantas said it was still investigating. </p><h2 id="launching-phishing-attacks">Launching phishing attacks</h2><p>We can now add Singapore Airlines to that list, with 46,000 records of its own. These include customers' names, booking reference numbers, travel ​itineraries and booking classes and, in a smaller number of cases (around 620 booking records), email addresses, phone numbers, travel document details, and KrisFlyer membership numbers.</p><p>According to <a href="https://www.reuters.com/world/asia-pacific/singapore-airlines-says-46000-booking-records-affected-by-amadeus-breach-2026-11-04/" target="_blank"><em>Reuters</em></a>, Singapore Airlines is now reaching out to affected customers with upcoming travel plans to change their booking reference numbers as a precaution. The ⁠airline also confirmed that its IT systems were not breached.</p><p>So far, there is no indication that the stolen data ended up on the dark web, and no threat actors claimed responsibility for the breach, just yet. There is a possibility that the culprits will try to extort the airlines for money, in exchange for deleting the stolen information.</p><p>This is the kind of data cybercriminals enjoy most. It allows them to launch highly personalized phishing emails that appear to come from the airlines themselves, referencing genuine booking details, flight dates, destinations and passenger names. </p><p>They could use this kind of information to trick unsuspecting travelers into clicking malicious links, sharing login credentials, or making fraudulent payments for supposed booking changes, refunds, or additional fees. </p><p>What’s more, the exposed passport details and frequent flyer numbers can also help criminals impersonate customers, try to take over people’s accounts, or launch identity fraud attacks against the airlines themselves. Even without financial information, simply by combining seemingly harmless travel details, cybercriminals can create enough context to make their scams considerably more convincing, and thus more difficult to detect and prevent.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/singapore-airlines-says-46-000-booking-records-hit-following-amadeus-breach</link>
                                                                            <description>
                            <![CDATA[ The supply-chain incident at Amadeus is trickling down to affect more and more airlines. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wjPytbzjEG7Ku4KC7aRsFd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/CRRFyjRJcZe8qvwLLLssrL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 16:10:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/CRRFyjRJcZe8qvwLLLssrL-1920-80.jpg">
                                                            <media:credit><![CDATA[Image Credit: Pexels]]></media:credit>
                                                                                                                                                                        <media:description><![CDATA[Image Credit: Pexels]]></media:description>                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/CRRFyjRJcZe8qvwLLLssrL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Singapore Airlines confirms customer data exposure through a breach at travel technology provider Amadeus</strong></li><li><strong>Stolen booking records included passenger details, itineraries, and limited passport and loyalty-program information</strong></li><li><strong>Multiple major airlines were affected, raising phishing and identity-fraud concerns for travelers</strong></li></ul><p>Singapore Airlines has become the latest in the seemingly growing list of airlines affected by a breach at a third-party technology provider.</p><p>Amadeus, a Spanish technology company that airlines and airports use to manage reservations, bookings, and overall passenger management, recently issued a brief statement saying it “became aware of a vulnerability affecting a travel booking display environment.” </p><p>In the announcement, Amadeus said certain booking-display data was accessible to the attackers but stressed that there was no evidence of payment or financial data being accessed. </p><p>“There are no indications that this vulnerability has been exploited for ransomware purposes,” the company said, adding that it “implemented measures to fix the vulnerability as well as enhanced monitoring and detection capabilities.”</p><p>In the meantime, numerous airlines started reporting sensitive data compromise as a result of this breach.</p><h2 id="cathay-pacific-japan-airlines-and-more">Cathay Pacific, Japan Airlines, and more</h2><p>Hong Kong’s flagship international airline, Cathay Pacific, issued a statement saying Amadeus notified it about a breach and “unauthorized access to travel reservation data” by a threat actor that used login credentials assigned to a system account. </p><p>Amadeus then told Cathay Pacific around 53,000 bookings were affected, and that the exposure took place between August 2023 and September 2026. “In the majority of cases, the information accessed included booking reference, passenger name, and flight details,” the airline said, adding that in a “smaller subset of cases”, additional data such as email and phone contacts, travel documents and/or frequent flyer numbers were also exposed. </p><p>The same day, Japan Airlines and Japan Transocean Air both shared similar news, saying a “portion of customer reservation data” had been accessed by an unauthorized third party. </p><p>Japan Airlines said some 92,000 customers were affected, including approximately 2,000 of those whose passport numbers were also exposed. All Nippon Airways said 37,800 of its customers were affected, including around 1,700 with additional data exposure. Korean Air, Asiana Airlines, and Malaysia Airlines, all confirmed being affected by the Amadeus incident, while Qantas said it was still investigating. </p><h2 id="launching-phishing-attacks">Launching phishing attacks</h2><p>We can now add Singapore Airlines to that list, with 46,000 records of its own. These include customers' names, booking reference numbers, travel ​itineraries and booking classes and, in a smaller number of cases (around 620 booking records), email addresses, phone numbers, travel document details, and KrisFlyer membership numbers.</p><p>According to <a href="https://www.reuters.com/world/asia-pacific/singapore-airlines-says-46000-booking-records-affected-by-amadeus-breach-2026-11-04/" target="_blank"><em>Reuters</em></a>, Singapore Airlines is now reaching out to affected customers with upcoming travel plans to change their booking reference numbers as a precaution. The ⁠airline also confirmed that its IT systems were not breached.</p><p>So far, there is no indication that the stolen data ended up on the dark web, and no threat actors claimed responsibility for the breach, just yet. There is a possibility that the culprits will try to extort the airlines for money, in exchange for deleting the stolen information.</p><p>This is the kind of data cybercriminals enjoy most. It allows them to launch highly personalized phishing emails that appear to come from the airlines themselves, referencing genuine booking details, flight dates, destinations and passenger names. </p><p>They could use this kind of information to trick unsuspecting travelers into clicking malicious links, sharing login credentials, or making fraudulent payments for supposed booking changes, refunds, or additional fees. </p><p>What’s more, the exposed passport details and frequent flyer numbers can also help criminals impersonate customers, try to take over people’s accounts, or launch identity fraud attacks against the airlines themselves. Even without financial information, simply by combining seemingly harmless travel details, cybercriminals can create enough context to make their scams considerably more convincing, and thus more difficult to detect and prevent.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ CrowdStrike launches 'AI kill switch' it claims can stop rogue agents and more ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>CrowdStrike introduces AI Kill Switch designed to stop, isolate, and prevent rogue AI agents from relaunching</strong></li><li><strong>The feature gives human administrators direct control to terminate suspicious agent activity and investigate incidents</strong></li><li><strong>Growing concerns over autonomous AI behavior are driving demand for safeguards that can quickly contain compromised agents</strong></li></ul><p>CrowdStrike believes it may have solved the problem of rogue AI agents in the enterprise with the launch of 'AI Kill Switch', a new feature being introduced in its Falcon Guardian product.</p><p>The last couple of months have seen multiple reports of AI agents going rogue, or behaving outright malicious. Even when tasked with relatively simple, benign assignments (such as, for example, to collect data about <a href="https://www.techradar.com/pro/security/ai-agents-aggressively-tried-to-hack-us-and-canadian-government-websites" target="_blank">Canadian divorce records</a>), whenever the agents hit a roadblock, they would do whatever it takes to get the job done - which includes abusing zero-day vulnerabilities, or trying SQL injection attacks.</p><p>Expectedly, businesses became somewhat more reluctant in deploying AI agents, despite the obvious advantages. At the same time, cybersecurity organizations and AI developers sought to solve the challenge. Enter CrowdStrike.</p><h2 id="ai-kill-switch">AI Kill Switch</h2><p>The company recently introduced Falcon Guardian, an AI Detection and Response (AIDR) platform built to discover and monitor AI agents running inside enterprise environments. Its main capabilities include identifying both approved AI agents and shadow AI, tracking what the agents are asked to do and what files they can access, controlling access, detecting prompt injection attacks, and investigating suspicious agent behavior.</p><p>Now, the company has added AI Kill Switch, which should act as a failsafe when an agent breaks out of its intended behavior.</p><p>“AI safety is how you get the full benefit of AI. When you deploy agents with a kill switch, you stay in control,” said George Kurtz, CEO and founder of CrowdStrike. “For the first time, security is simultaneously the accelerant and the safety net for technology adoption. The AI Kill Switch puts power in the hands of the people to realize AI safety.”</p><p>This means the feature will actually be operated by humans, not AI, and will be able to terminate the agent at its root. It starts on the endpoint, where the Falcon sensor already operates, and builds on what Falcon Guardian already sees: what an agent is told to do, what it communicates, and what it executes, the company explained.</p><p>Explaining how the tool will work, Crowdstrike says the Falcon sensor will first stop the agent from executing (first at the Gateway, and soon on the endpoint), to prevent the agent from doing any damage as the team investigates. </p><p>Then, its policy will keep the agent from relaunching on the targeted host or host group, while the tool bars the agent from enterprise network access. </p><p>An authorized administrator will trigger the action, and every action is recorded in the audit trail.</p><h2 id="other-solutions">Other solutions</h2><p>CrowdStrike is not the only company working on this. For example, Straiker's Agentic Kill Switch allows users to suspend individual agents, revoke their access to different tools, APIs and data, or take them offline completely. </p><p>A similar solution was built by JetStream Security, allowing organizations to disable individual agents without disrupting other AI workflows, while Trust3 AI’s Agent DOS comes with a built-in kill switch that can be triggered manually, or even automatically (when an agent’s security score falls below a predefined threshold). </p><p>There is also Microsoft’s Entra Agent ID, Palo Alto Networks’ Prisma AIRS, and Cisco’s AI Defense. All these offer some form of AI master lever that can block the agent and prevent it from doing meaningful damage. </p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/crowdstrike-launches-ai-kill-switch-it-claims-can-stop-rogue-agents-and-more</link>
                                                                            <description>
                            <![CDATA[ The new tool comes as part of Falcon Guardian, CrowdStrike's AI Detection and Response platform. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">ZA5EvWc2zneqLQSPBM5dWi</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Thi6y93AMWrCXJAEiHDQbL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 15:20:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/Thi6y93AMWrCXJAEiHDQbL-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A robot in front of a digital screen, touching some of the symbols with its outstretched finger]]></media:description>                                                            <media:text><![CDATA[A robot in front of a digital screen, touching some of the symbols with its outstretched finger]]></media:text>
                                <media:title type="plain"><![CDATA[A robot in front of a digital screen, touching some of the symbols with its outstretched finger]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Thi6y93AMWrCXJAEiHDQbL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>CrowdStrike introduces AI Kill Switch designed to stop, isolate, and prevent rogue AI agents from relaunching</strong></li><li><strong>The feature gives human administrators direct control to terminate suspicious agent activity and investigate incidents</strong></li><li><strong>Growing concerns over autonomous AI behavior are driving demand for safeguards that can quickly contain compromised agents</strong></li></ul><p>CrowdStrike believes it may have solved the problem of rogue AI agents in the enterprise with the launch of 'AI Kill Switch', a new feature being introduced in its Falcon Guardian product.</p><p>The last couple of months have seen multiple reports of AI agents going rogue, or behaving outright malicious. Even when tasked with relatively simple, benign assignments (such as, for example, to collect data about <a href="https://www.techradar.com/pro/security/ai-agents-aggressively-tried-to-hack-us-and-canadian-government-websites" target="_blank">Canadian divorce records</a>), whenever the agents hit a roadblock, they would do whatever it takes to get the job done - which includes abusing zero-day vulnerabilities, or trying SQL injection attacks.</p><p>Expectedly, businesses became somewhat more reluctant in deploying AI agents, despite the obvious advantages. At the same time, cybersecurity organizations and AI developers sought to solve the challenge. Enter CrowdStrike.</p><h2 id="ai-kill-switch">AI Kill Switch</h2><p>The company recently introduced Falcon Guardian, an AI Detection and Response (AIDR) platform built to discover and monitor AI agents running inside enterprise environments. Its main capabilities include identifying both approved AI agents and shadow AI, tracking what the agents are asked to do and what files they can access, controlling access, detecting prompt injection attacks, and investigating suspicious agent behavior.</p><p>Now, the company has added AI Kill Switch, which should act as a failsafe when an agent breaks out of its intended behavior.</p><p>“AI safety is how you get the full benefit of AI. When you deploy agents with a kill switch, you stay in control,” said George Kurtz, CEO and founder of CrowdStrike. “For the first time, security is simultaneously the accelerant and the safety net for technology adoption. The AI Kill Switch puts power in the hands of the people to realize AI safety.”</p><p>This means the feature will actually be operated by humans, not AI, and will be able to terminate the agent at its root. It starts on the endpoint, where the Falcon sensor already operates, and builds on what Falcon Guardian already sees: what an agent is told to do, what it communicates, and what it executes, the company explained.</p><p>Explaining how the tool will work, Crowdstrike says the Falcon sensor will first stop the agent from executing (first at the Gateway, and soon on the endpoint), to prevent the agent from doing any damage as the team investigates. </p><p>Then, its policy will keep the agent from relaunching on the targeted host or host group, while the tool bars the agent from enterprise network access. </p><p>An authorized administrator will trigger the action, and every action is recorded in the audit trail.</p><h2 id="other-solutions">Other solutions</h2><p>CrowdStrike is not the only company working on this. For example, Straiker's Agentic Kill Switch allows users to suspend individual agents, revoke their access to different tools, APIs and data, or take them offline completely. </p><p>A similar solution was built by JetStream Security, allowing organizations to disable individual agents without disrupting other AI workflows, while Trust3 AI’s Agent DOS comes with a built-in kill switch that can be triggered manually, or even automatically (when an agent’s security score falls below a predefined threshold). </p><p>There is also Microsoft’s Entra Agent ID, Palo Alto Networks’ Prisma AIRS, and Cisco’s AI Defense. All these offer some form of AI master lever that can block the agent and prevent it from doing meaningful damage. </p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Microsoft boasts Windows 11 is now up to 40% faster for multi-tasking ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Windows 11 got a major performance boost with its latest update, including 40% faster multi-tasking on an 8GB PC based on Microsoft's testing</strong></li><li><strong>That update is still a preview, mind, but the full release is coming next week, with other performance boosts, especially for 8GB PCs</strong></li><li><strong>Meanwhile the developer of Tiny11 has managed to get a totally stripped-down version of Windows 11 running in an improbable 128MB of memory</strong></li></ul><p>Microsoft has gone into the details of how it's <a href="https://www.techradar.com/computing/windows/windows-11-could-get-a-free-speed-boost-soon-as-microsoft-promises-significant-gains-for-boot-times">made Windows 11 faster</a> on 8GB PCs (and all systems for that matter), with these changes arriving in the next update for the OS – all while a third-party has demonstrated the operating system running on a meagre 128MB of RAM (with huge caveats as you might expect).</p><p>A <a href="https://blogs.windows.com/windowsexperience/2026/11/03/raising-the-bar-for-8-gb-windows-11-pcs-whats-improved-and-how-to-get-it/" target="_blank">blog post from Pavan Davuluri</a>, head of Windows at Microsoft, entitled 'Raising the bar for 8GB Windows 11 PCs' gives us some further metrics as to how much performance has been improved by.</p><p>Microsoft has mentioned that <a href="https://www.techradar.com/computing/windows/microsoft-boasts-that-windows-11-is-now-up-to-20-percent-more-responsive-with-the-new-photos-app-also-benefiting-from-a-big-speed-boost">Windows 11 is now up to 20% more responsive</a> on 8GB machines before, but now it's added another stat to consider, namely that the OS is 40% faster for multi-tasking (and that kind of workload is where 8GB of RAM can feel a lot more pushed to its limits).</p><p>In this case, Microsoft's test involved "opening 20 tabs in Microsoft Edge, a 4K video, large Word, PowerPoint and Excel files, Outlook and File Explorer one after another, keeping everything open as we went." This was 40% faster compared to Windows 11 in January 2026 (before the fix the OS campaign started), as measured on an HP OmniBook 3 laptop with a Snapdragon X Plus (Arm) 8-core CPU and 8GB of memory.</p><p>Davuluri explains that Microsoft's approach to upping performance in Windows 11 runs along three distinct paths: "Making better use of the memory in every Windows 11 PC, protecting the interactions that need to feel instant even under load, and ensuring key apps and Windows require less memory."</p><p>Of course, the exec points out that this work benefits all Windows 11 PCs, but that this tuning will be particularly beneficial for 8GB devices – clearly having key apps drain less system RAM is going to be great for lower memory loadouts.</p><p>Microsoft notes that in terms of memory management improvements, in multi-tasking tests on 8GB systems, it has "reduced committed-memory growth by up to 900MB" in Windows 11 running Edge and Microsoft 365 apps.</p><p>We're also told that thanks to improvements in Windows 11's compression techniques, more active data for apps can be stored in RAM (as opposed to on your drive, where it's slower to be fetched) – to the tune of up to 2GB more. Davuluri employs a <a href="https://blogs.windows.com/windowsexperience/2026/11/03/raising-the-bar-for-8-gb-windows-11-pcs-whats-improved-and-how-to-get-it/#:~:text=Making%20better%20use%20of%20the%20memory%20that%E2%80%99s%20there">useful desk metaphor</a> to illustrate this, which I think is worth a read for the less tech-savvy.</p><p>If you want the benefit of all this fresh speediness, Microsoft informs us that this performance tuning is in place in the very latest update for Windows 11, which is the <a href="https://www.techradar.com/computing/windows/windows-11s-right-click-menu-gets-a-vital-tune-up-its-now-faster-and-you-can-dump-options-you-dont-want">optional update that arrived at the end of October</a> (complete with right-click menu customization).</p><p>If you download that, though, bear in mind it's a preview so officially still in testing. I'd advise waiting for the full release of the finished November update, which comes out next week on November 10, so you won't have to be patient for long.</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/PyaZWAY3B08" allowfullscreen=""></iframe></div></div><h2 id="analysis-necessary-streamlining-and-it-appears-to-have-done-the-trick">Analysis: necessary streamlining – and it appears to have done the trick</h2><p>Okay, so Microsoft is touting some very specific performance measurements here and there's bound to have been some cherry-picking going on. In other words, run a ton of different tests and pick the results that show off the very best performance levels (with a peak 'up to' value), but of course this is standard practice for any product marketing.</p><p>Still, it's clear that strides have been made, and online feedback backs this up. There are numerous users who are observing that Windows 11 is faster after this most recent update, and indeed since version 26H2 was released.</p><p>As one <a href="https://www.reddit.com/r/Windows11/comments/1xmyjf8/comment/19s3715qistoh/" target="_blank">Redditor observes</a>: "I can confirm it, Windows 11 has been overall much more [responsive] on my system, it used to be slow as s**t and now even the context menu opens quite instant."</p><p>Most of the negativity that now remains on social media, aside from the obvious trolling, is around why Microsoft didn't have Windows 11 tuned up like this in the first place. And that a 40% improvement in multi-tasking was partly made possible because things were in such a sluggish state to begin with, and I think those are fair points (I've brought them up myself in the past).</p><p>Still, it's clear that Microsoft is working hard and successfully optimizing Windows 11 for leaner RAM loadouts, and I obviously won't argue with that. Meanwhile, the developer of Tiny11 – which allows you to <a href="https://www.techradar.com/computing/windows/fed-up-of-windows-11-bloat-new-tiny11-builder-makes-it-easier-than-ever-to-declutter-microsofts-os">create a completely stripped-down Windows installation</a> – has proved that Microsoft's OS can be pared back so it runs on just 128MB of RAM (<a href="https://www.tomshardware.com/software/windows/developer-manages-to-run-windows-11-26h2-with-just-128mb-of-ram-just-3-1-percent-of-recommended-minimum-stripped-down-installation-can-access-desktop-file-explorer-and-notepad" target="_blank">hat tip to Tom's Hardware</a>).</p><p>That beats the developer's old record of 184MB, and it's a seriously impressive feat, but as you might imagine, what's left in Windows after pruning it back so viciously is, well, barely anything. You can boot the desktop, open folders or the Start menu, and run Notepad, but not much else. It is "painfully slow" by the developer's own admission, and not a workable version of Windows 11 so much as an exercise in what can be done.</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/Pbz6qtKGrjs" allowfullscreen=""></iframe></div></div><p>The reason that projects such as Tiny11 are popular is because many folks are fed up with the bloat in Windows 11, and want to create their own tailored and streamlined version. If Microsoft keeps going with its successful performance tweaking and tuning, with any luck, there'll be a lot less demand for the likes of Tiny11 in the future.</p><p>Microsoft is promising more memory efficiency tuning, and advances in memory compression, are coming, as well as a <a href="https://www.techradar.com/computing/windows/microsoft-reveals-another-way-its-making-windows-11-faster-with-more-performance-boosts-promised-for-the-likes-of-file-explorer">greater use of WinUI 3</a> for <a href="https://www.techradar.com/computing/windows/microsoft-boasts-that-windows-11-is-now-up-to-20-percent-more-responsive-with-the-new-photos-app-also-benefiting-from-a-big-speed-boost">speedier apps</a> and parts of the Windows 11 interface.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/windows/microsoft-boasts-windows-11-is-now-up-to-40-percent-faster-for-multi-tasking-as-latest-update-packs-a-big-speed-boost-for-8gb-pcs</link>
                                                                            <description>
                            <![CDATA[ 'Making better use of the memory in every Windows 11 PC': Microsoft explains in more detail how it has made the OS a lot faster. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">pwF5V3NTpkigonuPQmECU</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/MbGtYqEtneYEmn9iyqwJyB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 14:20:37 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 22:16:22 +0000</updated>
                                                                                                                                            <category><![CDATA[Windows]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/MbGtYqEtneYEmn9iyqwJyB-1920-80.jpg">
                                                            <media:credit><![CDATA[Unsplash / Surface]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Female couple sitting on sofa with Microsoft Surface tablet, both laughing]]></media:description>                                                            <media:text><![CDATA[Female couple sitting on sofa with Microsoft Surface tablet, both laughing]]></media:text>
                                <media:title type="plain"><![CDATA[Female couple sitting on sofa with Microsoft Surface tablet, both laughing]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/MbGtYqEtneYEmn9iyqwJyB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Windows 11 got a major performance boost with its latest update, including 40% faster multi-tasking on an 8GB PC based on Microsoft's testing</strong></li><li><strong>That update is still a preview, mind, but the full release is coming next week, with other performance boosts, especially for 8GB PCs</strong></li><li><strong>Meanwhile the developer of Tiny11 has managed to get a totally stripped-down version of Windows 11 running in an improbable 128MB of memory</strong></li></ul><p>Microsoft has gone into the details of how it's <a href="https://www.techradar.com/computing/windows/windows-11-could-get-a-free-speed-boost-soon-as-microsoft-promises-significant-gains-for-boot-times">made Windows 11 faster</a> on 8GB PCs (and all systems for that matter), with these changes arriving in the next update for the OS – all while a third-party has demonstrated the operating system running on a meagre 128MB of RAM (with huge caveats as you might expect).</p><p>A <a href="https://blogs.windows.com/windowsexperience/2026/11/03/raising-the-bar-for-8-gb-windows-11-pcs-whats-improved-and-how-to-get-it/" target="_blank">blog post from Pavan Davuluri</a>, head of Windows at Microsoft, entitled 'Raising the bar for 8GB Windows 11 PCs' gives us some further metrics as to how much performance has been improved by.</p><p>Microsoft has mentioned that <a href="https://www.techradar.com/computing/windows/microsoft-boasts-that-windows-11-is-now-up-to-20-percent-more-responsive-with-the-new-photos-app-also-benefiting-from-a-big-speed-boost">Windows 11 is now up to 20% more responsive</a> on 8GB machines before, but now it's added another stat to consider, namely that the OS is 40% faster for multi-tasking (and that kind of workload is where 8GB of RAM can feel a lot more pushed to its limits).</p><p>In this case, Microsoft's test involved "opening 20 tabs in Microsoft Edge, a 4K video, large Word, PowerPoint and Excel files, Outlook and File Explorer one after another, keeping everything open as we went." This was 40% faster compared to Windows 11 in January 2026 (before the fix the OS campaign started), as measured on an HP OmniBook 3 laptop with a Snapdragon X Plus (Arm) 8-core CPU and 8GB of memory.</p><p>Davuluri explains that Microsoft's approach to upping performance in Windows 11 runs along three distinct paths: "Making better use of the memory in every Windows 11 PC, protecting the interactions that need to feel instant even under load, and ensuring key apps and Windows require less memory."</p><p>Of course, the exec points out that this work benefits all Windows 11 PCs, but that this tuning will be particularly beneficial for 8GB devices – clearly having key apps drain less system RAM is going to be great for lower memory loadouts.</p><p>Microsoft notes that in terms of memory management improvements, in multi-tasking tests on 8GB systems, it has "reduced committed-memory growth by up to 900MB" in Windows 11 running Edge and Microsoft 365 apps.</p><p>We're also told that thanks to improvements in Windows 11's compression techniques, more active data for apps can be stored in RAM (as opposed to on your drive, where it's slower to be fetched) – to the tune of up to 2GB more. Davuluri employs a <a href="https://blogs.windows.com/windowsexperience/2026/11/03/raising-the-bar-for-8-gb-windows-11-pcs-whats-improved-and-how-to-get-it/#:~:text=Making%20better%20use%20of%20the%20memory%20that%E2%80%99s%20there">useful desk metaphor</a> to illustrate this, which I think is worth a read for the less tech-savvy.</p><p>If you want the benefit of all this fresh speediness, Microsoft informs us that this performance tuning is in place in the very latest update for Windows 11, which is the <a href="https://www.techradar.com/computing/windows/windows-11s-right-click-menu-gets-a-vital-tune-up-its-now-faster-and-you-can-dump-options-you-dont-want">optional update that arrived at the end of October</a> (complete with right-click menu customization).</p><p>If you download that, though, bear in mind it's a preview so officially still in testing. I'd advise waiting for the full release of the finished November update, which comes out next week on November 10, so you won't have to be patient for long.</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/PyaZWAY3B08" allowfullscreen=""></iframe></div></div><h2 id="analysis-necessary-streamlining-and-it-appears-to-have-done-the-trick">Analysis: necessary streamlining – and it appears to have done the trick</h2><p>Okay, so Microsoft is touting some very specific performance measurements here and there's bound to have been some cherry-picking going on. In other words, run a ton of different tests and pick the results that show off the very best performance levels (with a peak 'up to' value), but of course this is standard practice for any product marketing.</p><p>Still, it's clear that strides have been made, and online feedback backs this up. There are numerous users who are observing that Windows 11 is faster after this most recent update, and indeed since version 26H2 was released.</p><p>As one <a href="https://www.reddit.com/r/Windows11/comments/1xmyjf8/comment/19s3715qistoh/" target="_blank">Redditor observes</a>: "I can confirm it, Windows 11 has been overall much more [responsive] on my system, it used to be slow as s**t and now even the context menu opens quite instant."</p><p>Most of the negativity that now remains on social media, aside from the obvious trolling, is around why Microsoft didn't have Windows 11 tuned up like this in the first place. And that a 40% improvement in multi-tasking was partly made possible because things were in such a sluggish state to begin with, and I think those are fair points (I've brought them up myself in the past).</p><p>Still, it's clear that Microsoft is working hard and successfully optimizing Windows 11 for leaner RAM loadouts, and I obviously won't argue with that. Meanwhile, the developer of Tiny11 – which allows you to <a href="https://www.techradar.com/computing/windows/fed-up-of-windows-11-bloat-new-tiny11-builder-makes-it-easier-than-ever-to-declutter-microsofts-os">create a completely stripped-down Windows installation</a> – has proved that Microsoft's OS can be pared back so it runs on just 128MB of RAM (<a href="https://www.tomshardware.com/software/windows/developer-manages-to-run-windows-11-26h2-with-just-128mb-of-ram-just-3-1-percent-of-recommended-minimum-stripped-down-installation-can-access-desktop-file-explorer-and-notepad" target="_blank">hat tip to Tom's Hardware</a>).</p><p>That beats the developer's old record of 184MB, and it's a seriously impressive feat, but as you might imagine, what's left in Windows after pruning it back so viciously is, well, barely anything. You can boot the desktop, open folders or the Start menu, and run Notepad, but not much else. It is "painfully slow" by the developer's own admission, and not a workable version of Windows 11 so much as an exercise in what can be done.</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/Pbz6qtKGrjs" allowfullscreen=""></iframe></div></div><p>The reason that projects such as Tiny11 are popular is because many folks are fed up with the bloat in Windows 11, and want to create their own tailored and streamlined version. If Microsoft keeps going with its successful performance tweaking and tuning, with any luck, there'll be a lot less demand for the likes of Tiny11 in the future.</p><p>Microsoft is promising more memory efficiency tuning, and advances in memory compression, are coming, as well as a <a href="https://www.techradar.com/computing/windows/microsoft-reveals-another-way-its-making-windows-11-faster-with-more-performance-boosts-promised-for-the-likes-of-file-explorer">greater use of WinUI 3</a> for <a href="https://www.techradar.com/computing/windows/microsoft-boasts-that-windows-11-is-now-up-to-20-percent-more-responsive-with-the-new-photos-app-also-benefiting-from-a-big-speed-boost">speedier apps</a> and parts of the Windows 11 interface.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Top password manager mSecure tells users to change passwords immediately ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>mSecure disclosed a breach involving an encrypted cloud database containing data from current and former users</strong></li><li><strong>Company urged users to rotate critical passwords, MFA methods, and passkeys despite no evidence vaults were decrypted</strong></li><li><strong>Customer criticism grew after limited initial disclosure left uncertainty about the incident’s scope and impact</strong></li></ul><p>Top <a href="https://www.techradar.com/best/password-manager" target="_blank">password manager</a> mSecure has confirmed it suffered a data breach and, “out of an abundance of caution”, and told its customers to simply reset everything, leaving some pretty upset.</p><p>On November 3 2026, the company behind mSecure, called mSeven Software, sent an email to its customers, saying it “recently learned of suspicious activity associated with the mSecure password management application”. It soon launched an investigation, mitigated the issue, and brought in third-party cybersecurity experts to assist. </p><p>The notice, while rather sparse on details, urged customers to “immediately take steps to protect all confidential information stored within the mSecure password management application. This may include changing passwords, resetting or re-enrolling two factor authentication methods, or removing existing passkeys."</p><h2 id="encrypted-database">Encrypted database</h2><p>All this was said without detailing what happened, and customers did not take it well. On Reddit, users were asking if this pertained just to the master password, or to all passwords stored inside the manager. Some people have hundreds of secrets locked away in mSecure, and changing all of them would take hours. </p><p>“This notice is wildly insufficient,” one user wrote. “Recommending potentially hundreds of credential changes without identifying the underlying threat, the affected customers, or the security of the application being used to make those changes is inadequate.”</p><p>mSecure allegedly responded with a follow-up notice that was also shared on social media. In it, it disclosed more details, and somewhat played down the actual breach:</p><p>“Yesterday, mSeven learned that an unauthorized actor acquired an encrypted copy of a database containing information belonging to current and former users of the mSecure password management application,” it said. “Importantly, mSeven has no evidence that the unauthorized actor has accessed the confidential information stored within the database in the mSecure Cloud.”</p><p>Putting it plainly, a threat actor walked away with a copy of the database that was sitting in mSecure Cloud, and all users - current and former - who had synced their password manager with the cloud service are at risk.</p><p>But mSeven tried to downplay the severity of the incident. Throughout the announcement, it repeated multiple times that the stolen database was encrypted and that there is no evidence that the threat actors managed to decrypt it. Truth be told, encrypted databases should be safe, but many criminals are still hoarding them, in case anyone makes a breakthrough at any point in time. There’s actually a name to the practice - HNDL (harvest now, decrypt later). </p><p>It also responded to user criticism about having to change all passwords now: </p><p>“As a standard best practice, mSeven continues to recommend that mSecure customers change their master password, change vital stored passwords, reset two-factor authentication methods, replace passkeys and any other sensitive information. This should be a part of all routine security practices.”</p><h2 id="not-the-only-password-manager-in-trouble">Not the only password manager in trouble</h2><p>Finally, mSecure said deleting the app won’t help the situation and stressed that the issue only pertains to users that were syncing with the mSecure Cloud. </p><p>“mSeven takes the security and privacy of all information stored on the mSecure platform very seriously and has no evidence that mSecure is not currently safe for use,” it said. “Our support team is working as fast as possible to respond to customer questions. We take your trust in us seriously, and appreciate your patience and continued support.”</p><p>How this reflects the company’s image remains to be seen. One Reddit user said the company was deleting negative reviews and complaints that were being left on the Google Play Store. But mSecure is hardly the only password manager experiencing an incident such as this one. In June this year <a href="https://www.techradar.com/pro/security/lastpass-confirms-data-breach-after-hacker-compromises-supply-chain-heres-what-we-know" target="_blank">LastPass confirmed losing sensitive customer data</a>, while Dashlane said hackers obtained at least a dozen encrypted vaults.</p><p><em>Via </em><a href="https://www.theregister.com/security/2026/11/03/password-manager-msecure-tells-users-to-change-passwords-wont-say-why/5307296" target="_blank"><em>The Register</em></a></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/top-password-manager-msecure-tells-users-to-change-passwords-immediately</link>
                                                                            <description>
                            <![CDATA[ Users synced with its cloud service might be at risk, as a copy of an encrypted database is nabbed. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">z7j6msmkko47LqBByytSiW</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/37uyEphcLreEFNUVCQzurn-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 14:20:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/37uyEphcLreEFNUVCQzurn-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[World Password Day 2025]]></media:description>                                                            <media:text><![CDATA[World Password Day 2025]]></media:text>
                                <media:title type="plain"><![CDATA[World Password Day 2025]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/37uyEphcLreEFNUVCQzurn-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>mSecure disclosed a breach involving an encrypted cloud database containing data from current and former users</strong></li><li><strong>Company urged users to rotate critical passwords, MFA methods, and passkeys despite no evidence vaults were decrypted</strong></li><li><strong>Customer criticism grew after limited initial disclosure left uncertainty about the incident’s scope and impact</strong></li></ul><p>Top <a href="https://www.techradar.com/best/password-manager" target="_blank">password manager</a> mSecure has confirmed it suffered a data breach and, “out of an abundance of caution”, and told its customers to simply reset everything, leaving some pretty upset.</p><p>On November 3 2026, the company behind mSecure, called mSeven Software, sent an email to its customers, saying it “recently learned of suspicious activity associated with the mSecure password management application”. It soon launched an investigation, mitigated the issue, and brought in third-party cybersecurity experts to assist. </p><p>The notice, while rather sparse on details, urged customers to “immediately take steps to protect all confidential information stored within the mSecure password management application. This may include changing passwords, resetting or re-enrolling two factor authentication methods, or removing existing passkeys."</p><h2 id="encrypted-database">Encrypted database</h2><p>All this was said without detailing what happened, and customers did not take it well. On Reddit, users were asking if this pertained just to the master password, or to all passwords stored inside the manager. Some people have hundreds of secrets locked away in mSecure, and changing all of them would take hours. </p><p>“This notice is wildly insufficient,” one user wrote. “Recommending potentially hundreds of credential changes without identifying the underlying threat, the affected customers, or the security of the application being used to make those changes is inadequate.”</p><p>mSecure allegedly responded with a follow-up notice that was also shared on social media. In it, it disclosed more details, and somewhat played down the actual breach:</p><p>“Yesterday, mSeven learned that an unauthorized actor acquired an encrypted copy of a database containing information belonging to current and former users of the mSecure password management application,” it said. “Importantly, mSeven has no evidence that the unauthorized actor has accessed the confidential information stored within the database in the mSecure Cloud.”</p><p>Putting it plainly, a threat actor walked away with a copy of the database that was sitting in mSecure Cloud, and all users - current and former - who had synced their password manager with the cloud service are at risk.</p><p>But mSeven tried to downplay the severity of the incident. Throughout the announcement, it repeated multiple times that the stolen database was encrypted and that there is no evidence that the threat actors managed to decrypt it. Truth be told, encrypted databases should be safe, but many criminals are still hoarding them, in case anyone makes a breakthrough at any point in time. There’s actually a name to the practice - HNDL (harvest now, decrypt later). </p><p>It also responded to user criticism about having to change all passwords now: </p><p>“As a standard best practice, mSeven continues to recommend that mSecure customers change their master password, change vital stored passwords, reset two-factor authentication methods, replace passkeys and any other sensitive information. This should be a part of all routine security practices.”</p><h2 id="not-the-only-password-manager-in-trouble">Not the only password manager in trouble</h2><p>Finally, mSecure said deleting the app won’t help the situation and stressed that the issue only pertains to users that were syncing with the mSecure Cloud. </p><p>“mSeven takes the security and privacy of all information stored on the mSecure platform very seriously and has no evidence that mSecure is not currently safe for use,” it said. “Our support team is working as fast as possible to respond to customer questions. We take your trust in us seriously, and appreciate your patience and continued support.”</p><p>How this reflects the company’s image remains to be seen. One Reddit user said the company was deleting negative reviews and complaints that were being left on the Google Play Store. But mSecure is hardly the only password manager experiencing an incident such as this one. In June this year <a href="https://www.techradar.com/pro/security/lastpass-confirms-data-breach-after-hacker-compromises-supply-chain-heres-what-we-know" target="_blank">LastPass confirmed losing sensitive customer data</a>, while Dashlane said hackers obtained at least a dozen encrypted vaults.</p><p><em>Via </em><a href="https://www.theregister.com/security/2026/11/03/password-manager-msecure-tells-users-to-change-passwords-wont-say-why/5307296" target="_blank"><em>The Register</em></a></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hackers target French blood banks in latest freezer attack amid UK warnings ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Hackers have targeted French blood stocks used in medical emergencies</strong></li><li><strong>Attackers tried to raise freezer temperatures from -22F to 230F</strong></li><li><strong>The attack was spotted quickly and no blood had to be destroyed</strong></li></ul><p>A few days ago, hackers attacked <a href="https://www.techradar.com/tech/supermarket-freezers-across-europe-hit-by-fresh-cold-war-cyberattack-temperatures-raised-to-50c-forcing-grocers-to-throw-away-food">European supermarket freezers</a> for the second time in weeks, but it’s not just frozen food that has been the target of these malicious operations. Now, threat actors have their eyes on the medical sector, with reports emerging that French blood plasma reserves have been breached by unknown saboteurs. </p><p>As reported by <a href="https://www.cyberattaque.org/cyberattaque-contre-lefs-des-hackers-sattaquent-aux-reserves-de-plasma-sanguin/" target="_blank">Cyberattaque</a> (via <a href="https://cybersecuritynews.com/french-blood-plasma-freezers-hacked/" target="_blank">Cyber Security News</a>), stores of blood plasma were struck overnight between November 1 and November 2, with freezer temperatures programmed to rocket from -30C to 110C (-22F to 230F). Although it’s unknown whether the freezers actually reached temperatures as high as that, the incident is still a worrying development in what looks like an ongoing strategy against key infrastructure targets. </p><p>The campaign targeted Coolworld, which supplies the French Blood Establishment (EFS). The EFS is responsible for collecting, preparing and distributing blood and blood products in France, many of which are used in essential surgeries and medical operations. Cyberattaque noted this meant that “frozen plasma for transfusions was among the potentially endangered products.” </p><p>The French Ministry of Health has said that the cyberattack did not result in any serious operational consequences because the temperature spikes were noticed quickly and corrected. What’s not known is how many facilities were affected, how long the disruption lasted and how high the temperature of the freezers actually got. However, there has been no confirmation that any blood stocks had to be destroyed as a result.</p><h2 id="far-reaching-effects">Far-reaching effects</h2><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="LVg6Poe67rd5TpWqhLcfie" name="healthcare.jpg" alt="A medical professional working on a digital device with icons floating in the air." src="https://cdn.mos.cms.futurecdn.net/LVg6Poe67rd5TpWqhLcfie-1920-80.jpg" 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: Shutterstock)</span></figcaption></figure><p>In October 2026, Vincent Strubel, the director general of France’s cybersecurity agency (known as ANSSI), issued a prescient warning that refrigeration facilities — including those storing medical resources — could be the target of adversarial attacks. Two weeks after that address, the blood stores were hacked. </p><p>Meanwhile, in the UK Richard Horne, CEO of the UK’s National Cyber Security Centre (NCSC), yesterday <a href="https://www.ncsc.gov.uk/speech/richard-hornes-speech-at-the-ncsc-annual-review-2026-launch" target="_blank">cautioned</a> that “far too many of our organizations and supply chains rest on weak technology and operational foundations.” Potential targets include “Electricity switching, sluice gates in water facilities, dam operations, manufacturing lines, heating, refrigeration controls,” Horne stated.</p><p>At the launch of the NCSC's <a href="https://www.ncsc.gov.uk/collection/annual-review-2026" target="_blank">'State of the Cyber Nation' report</a>, Horne went on to describe as the UK as being at a '<em>Sliding Doors</em> moment' for cybersecurity, with its exploitable vulnerabilities being akin to a "digital Leaning Tower of Pisa". "In the coming months, we face a real prospect of an unprecedented rise in the number of cyber incidents," he warned.</p><p>As Cyberattaque pointed out, it was not the medical facilities themselves that were compromised, but the third-party maintenance systems that controlled freezer temperatures. That could have far-reaching effects, as any company that provides controller products to different customers potentially puts them all at risk. </p><p>While the attempt on the French blood stocks was spotted quickly, the next attack might be able to slip through the net. If that happens, the upshot could be far more serious.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/cybercrime/hackers-target-french-blood-banks-in-latest-freezer-attack-as-uk-cybersecurity-chief-warns-of-sliding-doors-moment-for-unprecedented-threat</link>
                                                                            <description>
                            <![CDATA[ French blood supplies used in medical procedures have come under attack from suspected hackers. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">3ijk3odn6cqrzgxLx6xv98</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/nfbwDgrK5BcqohNYdJq86A-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 12:35:24 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 13:00:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Cyber Crime]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                                                                <author><![CDATA[ alexblake.techradar@gmail.com (Alex Blake) ]]></author>                    <dc:creator><![CDATA[ Alex Blake ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwmVRU4zMGnDYsGVAFvRmL-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alex Blake has been fooling around with computers since the early 1990s, and since that time he&#039;s learned a thing or two about tech. No more than two things, though. That&#039;s all his brain can hold. As well as TechRadar, Alex writes for iMore, Digital Trends and Creative Bloq, among others. He was previously commissioning editor at MacFormat magazine. That means he mostly covers the world of Apple and its latest products, but also Windows, computer peripherals, mobile apps, and much more beyond. When not writing, you can find him hiking the English countryside and gaming on his PC.&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/nfbwDgrK5BcqohNYdJq86A-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / angellodeco]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Blood samples in different vials]]></media:description>                                                            <media:text><![CDATA[Blood samples in different vials]]></media:text>
                                <media:title type="plain"><![CDATA[Blood samples in different vials]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/nfbwDgrK5BcqohNYdJq86A-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Hackers have targeted French blood stocks used in medical emergencies</strong></li><li><strong>Attackers tried to raise freezer temperatures from -22F to 230F</strong></li><li><strong>The attack was spotted quickly and no blood had to be destroyed</strong></li></ul><p>A few days ago, hackers attacked <a href="https://www.techradar.com/tech/supermarket-freezers-across-europe-hit-by-fresh-cold-war-cyberattack-temperatures-raised-to-50c-forcing-grocers-to-throw-away-food">European supermarket freezers</a> for the second time in weeks, but it’s not just frozen food that has been the target of these malicious operations. Now, threat actors have their eyes on the medical sector, with reports emerging that French blood plasma reserves have been breached by unknown saboteurs. </p><p>As reported by <a href="https://www.cyberattaque.org/cyberattaque-contre-lefs-des-hackers-sattaquent-aux-reserves-de-plasma-sanguin/" target="_blank">Cyberattaque</a> (via <a href="https://cybersecuritynews.com/french-blood-plasma-freezers-hacked/" target="_blank">Cyber Security News</a>), stores of blood plasma were struck overnight between November 1 and November 2, with freezer temperatures programmed to rocket from -30C to 110C (-22F to 230F). Although it’s unknown whether the freezers actually reached temperatures as high as that, the incident is still a worrying development in what looks like an ongoing strategy against key infrastructure targets. </p><p>The campaign targeted Coolworld, which supplies the French Blood Establishment (EFS). The EFS is responsible for collecting, preparing and distributing blood and blood products in France, many of which are used in essential surgeries and medical operations. Cyberattaque noted this meant that “frozen plasma for transfusions was among the potentially endangered products.” </p><p>The French Ministry of Health has said that the cyberattack did not result in any serious operational consequences because the temperature spikes were noticed quickly and corrected. What’s not known is how many facilities were affected, how long the disruption lasted and how high the temperature of the freezers actually got. However, there has been no confirmation that any blood stocks had to be destroyed as a result.</p><h2 id="far-reaching-effects">Far-reaching effects</h2><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="LVg6Poe67rd5TpWqhLcfie" name="healthcare.jpg" alt="A medical professional working on a digital device with icons floating in the air." src="https://cdn.mos.cms.futurecdn.net/LVg6Poe67rd5TpWqhLcfie-1920-80.jpg" 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: Shutterstock)</span></figcaption></figure><p>In October 2026, Vincent Strubel, the director general of France’s cybersecurity agency (known as ANSSI), issued a prescient warning that refrigeration facilities — including those storing medical resources — could be the target of adversarial attacks. Two weeks after that address, the blood stores were hacked. </p><p>Meanwhile, in the UK Richard Horne, CEO of the UK’s National Cyber Security Centre (NCSC), yesterday <a href="https://www.ncsc.gov.uk/speech/richard-hornes-speech-at-the-ncsc-annual-review-2026-launch" target="_blank">cautioned</a> that “far too many of our organizations and supply chains rest on weak technology and operational foundations.” Potential targets include “Electricity switching, sluice gates in water facilities, dam operations, manufacturing lines, heating, refrigeration controls,” Horne stated.</p><p>At the launch of the NCSC's <a href="https://www.ncsc.gov.uk/collection/annual-review-2026" target="_blank">'State of the Cyber Nation' report</a>, Horne went on to describe as the UK as being at a '<em>Sliding Doors</em> moment' for cybersecurity, with its exploitable vulnerabilities being akin to a "digital Leaning Tower of Pisa". "In the coming months, we face a real prospect of an unprecedented rise in the number of cyber incidents," he warned.</p><p>As Cyberattaque pointed out, it was not the medical facilities themselves that were compromised, but the third-party maintenance systems that controlled freezer temperatures. That could have far-reaching effects, as any company that provides controller products to different customers potentially puts them all at risk. </p><p>While the attempt on the French blood stocks was spotted quickly, the next attack might be able to slip through the net. If that happens, the upshot could be far more serious.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ SteelSeries Rival Pro review: peak performance with endless playtime ]]></title>
                                                                                                <dc:content><![CDATA[ <h2 class="article-body__section" id="section-steelseries-rival-pro-review"><span>SteelSeries Rival Pro review</span></h2><p>The SteelSeries Rival Pro feels as if it's really pushing the boundaries of what a gaming mouse can do. Even when I glanced at the specs sheet, I was mightily impressed with the features on offer: interference-free ‘true’ 8K polling, hot-swappable batteries for endless play, and 42,000 DPI sensitivity.</p><p>But it’s one thing having a good set of specs, and another performing well in practice. So just how good is the SteelSeries Rival Pro? And is it worth its asking price of $179.99 / £169.99 (about AU$250)? Here’s my verdict after hours of testing.</p><p>First of all, this mouse feels incredibly comfortable to use — in fact, it's up there with some of the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> as far as ergonomics are concerned.</p><p>It strikes a happy medium in terms of size, and it fits perfectly in my hand — though it's worth noting that this model is for right-handers only, whereas the ambidextrous form of the <a href="https://www.techradar.com/computing/mice/steelseries-sensei-pro-review">SteelSeries Sensei Pro</a> is suited to lefties and righties alike. I use a palm grip style, but the model is also designed to suit those who prefer claw or fingertip as well. I also love how lightweight the Rival Pro is. At 1.9oz / 53g, making sharp movements and adjustments feels supremely swift.</p><p>The mouse has a lightly textured matte finish that feels, and indeed looks, pretty nice too. Sure, the matte black finish makes it a little prone to picking up fingerprints, but this is more of a nitpick, and this is likely to be less of an issue if you opt for the alternate white colorway. </p><p>And when it comes to performance, the SteelSeries Rival Pro is equally dazzling. I used it to play <em>Cyberpunk 2077 </em>with the LG UltraGear 25G590B 1000Hz gaming monitor, and was astonished by the sheer responsiveness and precision on offer. Aiming felt incredibly stable and accurate, turning the camera felt super-sharp and reactive, and the high-quality optical switches enabled me to let shots fly snappily and reliably. The mechanical scroll wheel also felt very tactile, with ridges offering great grip.</p><p>Said optical switches feel great to use for gaming or general productivity, and their mechanical, satisfying sound never felt grating or overzealous to me. Yes, they’re not the quietest switches, so if you prefer a more subdued sound then maybe look elsewhere, but their quality is undeniable — SteelSeries even claims that it tested them for 100 million clicks, so you’ll get plenty of mileage out of this mouse.</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="4SJw7SXpAk6H3vWUVMPGNG" name="Steelseries_RivalPro_008.JPG" alt="USB-C cable being inserted into the SteelSeries Rival Pro base station" src="https://cdn.mos.cms.futurecdn.net/4SJw7SXpAk6H3vWUVMPGNG-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>Feature-wise, this mouse has just about everything you could want. The GG app and web app open up all sorts of customization for binds, sensitivity, polling rate, and power management. I mainly used the web app, and found it incredibly easy to use and make small tweaks here and there. </p><p>Perhaps the real standout feature, though, is the ‘infinite power system’. You get two batteries with the Rival Pro: one that pops into the mouse itself, and another that you place onto the Ultra Wideband base station. The batteries are hot-swappable, and when your mouse runs flat, you can swiftly substitute in the battery from the base station (which charges while plugged in). As a result, you’ll quite literally never run out of battery — ideal for competitive gamers. </p><p>While the Rival Pro mouse lacks a USB port for wired play, this infinite power system means you’ll honestly never need it — totally removing any additional weight or awkwardness that comes with a cable connection.</p><p>With an 8K polling rate, SuperSync — which enables you to independently control tracking and clicking polling rates, and aim tools to boot, it truly feels like the perfect gaming mouse. But are there any real downsides?</p><p>Well, one thing could prove to put some gamers off: the Rival Pro’s price. At $179.99 / £169.99 (about AU$250), this model is certainly a premium product. Is it worth it? If you want peak performance and essentially endless battery life, then yes. But there are plenty of strong options for less than $100 / £100 out there. </p><p>All in all, though, the SteelSeries Rival Pro is an innovative, ergonomic gaming mouse with exceptional performance. If you’re looking to take your game up a notch, look no further than this model.</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="s2NhEutaxCM5BFFo5xKgLG" name="Steelseries_RivalPro_006.JPG" alt="Scroll wheel on the SteelSeries Rival Pro" src="https://cdn.mos.cms.futurecdn.net/s2NhEutaxCM5BFFo5xKgLG-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><h2 class="article-body__section" id="section-steelseries-rival-pro-review-price-release-date"><span>SteelSeries Rival Pro review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro was released in October 2026, alongside three other models: the SteelSeries Rival Pro Mini, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro is priced at $179.99 / £169.99 (about AU$250). That lands it firmly in the premium category, with rivals including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a>.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-review-specs"><span>SteelSeries Rival Pro review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.95 x 2.69 x 1.66 inches / 125.7 x 68.2 x 42.2mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.9oz / 53g</p></td></tr></tbody></table></div><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="zdak5qzZfwQu6VjKZfx8NG" name="Steelseries_RivalPro_011.JPG" alt="SteelSeries Rival Pro with various accessories" src="https://cdn.mos.cms.futurecdn.net/zdak5qzZfwQu6VjKZfx8NG-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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro"><span>Should I buy the SteelSeries Rival Pro?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Excellent ergonomics, lightweight, great build quality, a little prone to fingerprints.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>True 8K polling with SuperSync, 42K DPI sensitivity, essentially endless battery life.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Undoubtedly pricey, but has the performance to back it up.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if…</h2><div class="product"><p><strong>You want unbeatable gaming features</strong><br />If you’re a pro gamer or an enthusiast, then the features available on the Rival Pro are sure to appeal to you. True 8K polling, 42K DPI sensitivity, and detailed customization options are perfectly suited to competitive play.</p></div><div class="product"><p><strong>You want unlimited battery life</strong><br />The Rival Pro has hot-swappable batteries, with one always on charge in the UWB base station. Apart from the five seconds it takes to swap the two batteries, you’ll get unlimited playtime, which is great for gaming tournaments or everyday use.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if…</h2><div class="product"><p><strong>You’re not playing particularly intensive games</strong><br />For a lot of gamers, the features on board are slightly overkill, so if you’re not playing games that require snappy response times, then you’ll probably be better off with a cheaper option.</p></div><div class="product"><p><strong>You’re on a budget</strong><br />Leading off from that, the Rival Pro is certainly not a model I’d recommend to anyone on a budget. While its performance ensures its still solid value overall, it's hard to look past that steep asking price.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-review-also-consider"><span>SteelSeries Rival Pro review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We were blown away by this Logitech mouse when we tested it earlier this year. Its ultra-low click and sensor latency, brilliant switches, and impressive build quality are hard to beat — even if it's pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="f61a5972-d21c-11f1-900b-55f5dcd17f91" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>.</p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a top-tier gaming mouse, boasting flawless performance, a great optical scroll wheel, and beautiful ergonomics. It's similarly priced to this SteelSeries rival, but we’ve seen it pop up on sale from time to time. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="f61a59d6-d21c-11f1-8c77-b1259611d121" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="Q9ioGxfx2MVtwF6E9K4EbG" name="Steelseries_RivalPro_013.JPG" alt="SteelSeries Rival Pro base station balanced on block" src="https://cdn.mos.cms.futurecdn.net/Q9ioGxfx2MVtwF6E9K4EbG-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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro"><span>How I tested the SteelSeries Rival Pro</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I spent many hours testing the SteelSeries Rival Pro, during which time I used it for gaming and general productivity.</p><p>When gaming, I paired the mouse with the LG UltraGear 25G590B 1000Hz gaming monitor to get the best performance possible. I made sure to play a range of games, but mainly tested the mouse with the PC version of <em>Cyberpunk 2077</em>. On top of this, I made sure to try out all of the mouse’s features and customization options via the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium Dolby Atmos soundbars to gaming software, and have tested a number of mice, including the recently released <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/mice/steelseries-rival-pro-review</link>
                                                                            <description>
                            <![CDATA[ The SteelSeries Rival Pro is an exemplary model with impeccable battery life, excellent ergonomics, and peak performance. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">sKZXWUmzKxjx79NwisyBom</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Wed, 04 Nov 2026 01:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Mice]]></category>
                                                    <category><![CDATA[Gaming Accessories]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Peripherals & Accessories]]></category>
                                                    <category><![CDATA[Gaming]]></category>
                                                                                                <author><![CDATA[ harry.padoan@futurenet.com (Harry Padoan) ]]></author>                    <dc:creator><![CDATA[ Harry Padoan ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/995EkuqRKUTUjvMk7ataFi-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Harry is a Senior Reviews Writer for TechRadar. He reviews everything from party speakers to wall chargers and has a particular interest in the worlds of audio and gaming.&lt;/p&gt;&lt;p&gt;Prior to joining TechRadar, Harry was a journalist covering stories from the telecoms industry, drilling into areas such as innovation, acquisitions, and sustainability.&lt;/p&gt;&lt;p&gt;When he isn’t testing the newest tech, Harry can probably be found listening to deep house, playing JRPGs, or watching his beloved Tottenham Hotspur.&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/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Man holding the Steelseries Rival Pro]]></media:description>                                                            <media:text><![CDATA[Man holding the Steelseries Rival Pro]]></media:text>
                                <media:title type="plain"><![CDATA[Man holding the Steelseries Rival Pro]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/5GfkFeJHkX6KUPBDc49wVE-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <h2 class="article-body__section" id="section-steelseries-rival-pro-review"><span>SteelSeries Rival Pro review</span></h2><p>The SteelSeries Rival Pro feels as if it's really pushing the boundaries of what a gaming mouse can do. Even when I glanced at the specs sheet, I was mightily impressed with the features on offer: interference-free ‘true’ 8K polling, hot-swappable batteries for endless play, and 42,000 DPI sensitivity.</p><p>But it’s one thing having a good set of specs, and another performing well in practice. So just how good is the SteelSeries Rival Pro? And is it worth its asking price of $179.99 / £169.99 (about AU$250)? Here’s my verdict after hours of testing.</p><p>First of all, this mouse feels incredibly comfortable to use — in fact, it's up there with some of the <a href="https://www.techradar.com/news/computing-components/peripherals/what-mouse-10-best-mice-compared-1027809">best mice</a> as far as ergonomics are concerned.</p><p>It strikes a happy medium in terms of size, and it fits perfectly in my hand — though it's worth noting that this model is for right-handers only, whereas the ambidextrous form of the <a href="https://www.techradar.com/computing/mice/steelseries-sensei-pro-review">SteelSeries Sensei Pro</a> is suited to lefties and righties alike. I use a palm grip style, but the model is also designed to suit those who prefer claw or fingertip as well. I also love how lightweight the Rival Pro is. At 1.9oz / 53g, making sharp movements and adjustments feels supremely swift.</p><p>The mouse has a lightly textured matte finish that feels, and indeed looks, pretty nice too. Sure, the matte black finish makes it a little prone to picking up fingerprints, but this is more of a nitpick, and this is likely to be less of an issue if you opt for the alternate white colorway. </p><p>And when it comes to performance, the SteelSeries Rival Pro is equally dazzling. I used it to play <em>Cyberpunk 2077 </em>with the LG UltraGear 25G590B 1000Hz gaming monitor, and was astonished by the sheer responsiveness and precision on offer. Aiming felt incredibly stable and accurate, turning the camera felt super-sharp and reactive, and the high-quality optical switches enabled me to let shots fly snappily and reliably. The mechanical scroll wheel also felt very tactile, with ridges offering great grip.</p><p>Said optical switches feel great to use for gaming or general productivity, and their mechanical, satisfying sound never felt grating or overzealous to me. Yes, they’re not the quietest switches, so if you prefer a more subdued sound then maybe look elsewhere, but their quality is undeniable — SteelSeries even claims that it tested them for 100 million clicks, so you’ll get plenty of mileage out of this mouse.</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="4SJw7SXpAk6H3vWUVMPGNG" name="Steelseries_RivalPro_008.JPG" alt="USB-C cable being inserted into the SteelSeries Rival Pro base station" src="https://cdn.mos.cms.futurecdn.net/4SJw7SXpAk6H3vWUVMPGNG-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>Feature-wise, this mouse has just about everything you could want. The GG app and web app open up all sorts of customization for binds, sensitivity, polling rate, and power management. I mainly used the web app, and found it incredibly easy to use and make small tweaks here and there. </p><p>Perhaps the real standout feature, though, is the ‘infinite power system’. You get two batteries with the Rival Pro: one that pops into the mouse itself, and another that you place onto the Ultra Wideband base station. The batteries are hot-swappable, and when your mouse runs flat, you can swiftly substitute in the battery from the base station (which charges while plugged in). As a result, you’ll quite literally never run out of battery — ideal for competitive gamers. </p><p>While the Rival Pro mouse lacks a USB port for wired play, this infinite power system means you’ll honestly never need it — totally removing any additional weight or awkwardness that comes with a cable connection.</p><p>With an 8K polling rate, SuperSync — which enables you to independently control tracking and clicking polling rates, and aim tools to boot, it truly feels like the perfect gaming mouse. But are there any real downsides?</p><p>Well, one thing could prove to put some gamers off: the Rival Pro’s price. At $179.99 / £169.99 (about AU$250), this model is certainly a premium product. Is it worth it? If you want peak performance and essentially endless battery life, then yes. But there are plenty of strong options for less than $100 / £100 out there. </p><p>All in all, though, the SteelSeries Rival Pro is an innovative, ergonomic gaming mouse with exceptional performance. If you’re looking to take your game up a notch, look no further than this model.</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="s2NhEutaxCM5BFFo5xKgLG" name="Steelseries_RivalPro_006.JPG" alt="Scroll wheel on the SteelSeries Rival Pro" src="https://cdn.mos.cms.futurecdn.net/s2NhEutaxCM5BFFo5xKgLG-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><h2 class="article-body__section" id="section-steelseries-rival-pro-review-price-release-date"><span>SteelSeries Rival Pro review: price &amp; release date</span></h2><ul><li><strong>Priced at $179.99 / £169.99 (about AU$250)</strong></li><li><strong>Released in October 2026</strong></li></ul><p>The SteelSeries Rival Pro was released in October 2026, alongside three other models: the SteelSeries Rival Pro Mini, as well as the SteelSeries Sensei Pro and Sensei Pro Mini. The Rival Pro is priced at $179.99 / £169.99 (about AU$250). That lands it firmly in the premium category, with rivals including the <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review">Logitech G Pro X2 Superstrike</a> and the <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro">Razer DeathAdder V4 Pro</a>.</p><h2 class="article-body__section" id="section-steelseries-rival-pro-review-specs"><span>SteelSeries Rival Pro review: specs</span></h2><div ><table><tbody><tr><td class="firstcol " ><p>Interface</p></td><td  ><p>Ultra Wideband Wireless (6GHz and above)</p></td></tr><tr><td class="firstcol " ><p>Battery life</p></td><td  ><p>Up to 60 hours 1K / 16 hours 8K</p></td></tr><tr><td class="firstcol " ><p>Sensor</p></td><td  ><p>TrueMove 42K Pro Sensor</p></td></tr><tr><td class="firstcol " ><p>Polling rate</p></td><td  ><p>8KHz (with 9KHz overpolling)</p></td></tr><tr><td class="firstcol " ><p>Buttons</p></td><td  ><p>6</p></td></tr><tr><td class="firstcol " ><p>DPI</p></td><td  ><p>42,000</p></td></tr><tr><td class="firstcol " ><p>Switches</p></td><td  ><p>Optical</p></td></tr><tr><td class="firstcol " ><p>Dimensions</p></td><td  ><p>4.95 x 2.69 x 1.66 inches / 125.7 x 68.2 x 42.2mm</p></td></tr><tr><td class="firstcol " ><p>Weight</p></td><td  ><p>1.9oz / 53g</p></td></tr></tbody></table></div><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="zdak5qzZfwQu6VjKZfx8NG" name="Steelseries_RivalPro_011.JPG" alt="SteelSeries Rival Pro with various accessories" src="https://cdn.mos.cms.futurecdn.net/zdak5qzZfwQu6VjKZfx8NG-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><h2 class="article-body__section" id="section-should-i-buy-the-steelseries-rival-pro"><span>Should I buy the SteelSeries Rival Pro?</span></h2><div ><table><thead><tr><th class="firstcol " ><p><strong>Attribute</strong></p></th><th  ><p><strong>Notes</strong></p></th><th  ><p><strong>Score</strong></p></th></tr></thead><tbody><tr><td class="firstcol " ><p>Design</p></td><td  ><p>Excellent ergonomics, lightweight, great build quality, a little prone to fingerprints.</p></td><td  ><p>4.5/5</p></td></tr><tr><td class="firstcol " ><p>Performance</p></td><td  ><p>True 8K polling with SuperSync, 42K DPI sensitivity, essentially endless battery life.</p></td><td  ><p>5/5</p></td></tr><tr><td class="firstcol " ><p>Value</p></td><td  ><p>Undoubtedly pricey, but has the performance to back it up.</p></td><td  ><p>4/5</p></td></tr></tbody></table></div><h2 id="buy-it-if-3">Buy it if…</h2><div class="product"><p><strong>You want unbeatable gaming features</strong><br />If you’re a pro gamer or an enthusiast, then the features available on the Rival Pro are sure to appeal to you. True 8K polling, 42K DPI sensitivity, and detailed customization options are perfectly suited to competitive play.</p></div><div class="product"><p><strong>You want unlimited battery life</strong><br />The Rival Pro has hot-swappable batteries, with one always on charge in the UWB base station. Apart from the five seconds it takes to swap the two batteries, you’ll get unlimited playtime, which is great for gaming tournaments or everyday use.</p></div><h2 id="don-t-buy-it-if-3">Don’t buy it if…</h2><div class="product"><p><strong>You’re not playing particularly intensive games</strong><br />For a lot of gamers, the features on board are slightly overkill, so if you’re not playing games that require snappy response times, then you’ll probably be better off with a cheaper option.</p></div><div class="product"><p><strong>You’re on a budget</strong><br />Leading off from that, the Rival Pro is certainly not a model I’d recommend to anyone on a budget. While its performance ensures its still solid value overall, it's hard to look past that steep asking price.</p></div><h2 class="article-body__section" id="section-steelseries-rival-pro-review-also-consider"><span>SteelSeries Rival Pro review: also consider</span></h2><div class="product"><p><strong>Logitech G Pro X2 Superstrike</strong><br />We were blown away by this Logitech mouse when we tested it earlier this year. Its ultra-low click and sensor latency, brilliant switches, and impressive build quality are hard to beat — even if it's pretty pricey. Read our full <a href="https://www.techradar.com/computing/mice/logitech-pro-x2-superstrike-review" data-dimension112="f61a5972-d21c-11f1-900b-55f5dcd17f91" data-action="Deal Block" data-label="Logitech G Pro X2 Superstrike review" data-dimension48="Logitech G Pro X2 Superstrike review" data-dimension25="">Logitech G Pro X2 Superstrike review</a>.</p></div><div class="product"><p><strong>Razer DeathAdder V4 Pro</strong><br />The Razer DeathAdder V4 Pro is a top-tier gaming mouse, boasting flawless performance, a great optical scroll wheel, and beautiful ergonomics. It's similarly priced to this SteelSeries rival, but we’ve seen it pop up on sale from time to time. Read our full <a href="https://www.techradar.com/computing/mice/razer-deathadder-v4-pro" data-dimension112="f61a59d6-d21c-11f1-8c77-b1259611d121" data-action="Deal Block" data-label="Razer DeathAdder V4 Pro review" data-dimension48="Razer DeathAdder V4 Pro review" data-dimension25="">Razer DeathAdder V4 Pro review</a>.</p></div><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="Q9ioGxfx2MVtwF6E9K4EbG" name="Steelseries_RivalPro_013.JPG" alt="SteelSeries Rival Pro base station balanced on block" src="https://cdn.mos.cms.futurecdn.net/Q9ioGxfx2MVtwF6E9K4EbG-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><h2 class="article-body__section" id="section-how-i-tested-the-steelseries-rival-pro"><span>How I tested the SteelSeries Rival Pro</span></h2><ul><li><strong>Tested intensively for hours</strong></li><li><strong>Used for gaming and general productivity</strong></li><li><strong>Made use of all features in the GG web app</strong></li></ul><p>I spent many hours testing the SteelSeries Rival Pro, during which time I used it for gaming and general productivity.</p><p>When gaming, I paired the mouse with the LG UltraGear 25G590B 1000Hz gaming monitor to get the best performance possible. I made sure to play a range of games, but mainly tested the mouse with the PC version of <em>Cyberpunk 2077</em>. On top of this, I made sure to try out all of the mouse’s features and customization options via the GG web app.</p><p>More generally, I’ve spent years testing gadgets here at TechRadar, where I serve as a Senior Reviews Writer. I’ve reviewed everything from premium Dolby Atmos soundbars to gaming software, and have tested a number of mice, including the recently released <a href="https://www.techradar.com/computing/mice/logitech-mobi-fold-review">Logitech Mobi Fold</a>.</p><ul><li><a href="https://www.techradar.com/news/how-we-test">Read TechRadar’s reviews guarantee</a></li><li><em>First reviewed: October 2026</em></li></ul>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Safari finally gets vertical tabs — and a new way to make any site dark ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Safari is getting some useful updates for iOS, iPadOS, and macOS</strong></li><li><strong>Vertical tabs will arrive, but only in the dev betas for now</strong></li><li><strong>Other features like Adaptive Dark Mode and Siri AI browser tools are coming, too, along with our first glimpse of the new Audio Intelligence capabilities</strong></li></ul><p>On the global web browser stage Safari lags behind Chrome, but when it comes to Apple's 2.5 billion customers, it reigns supreme. Yet, even those devoted users might've noticed that their favorite browser was lacking at least one long-sought feature. Now, with the introduction of Dev Betas for iOS 27.3, iPadOS 27.3, and macOS 27.3, they're getting their wish.</p><p>In beta today, the platform upgrade brings a series of relatively small but important updates to Safari across the iPhone Duo, iPad, and Mac. And chief among them is vertical tabs.</p><p>As is often the case, Apple didn't invent this idea. I started using vertical tabs in — of all things — Microsoft Edge years ago, and even Chrome recently added them. Now, with the Safari update, you can open the Safari View Menu or hop into Settings and select vertical tabs.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YctHuxmcZmkHm2skjtjKXQ-1920-80.png" alt="iOS 27.3 Vertical Tabs in Safari" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gLyabXNrETK8MLecbFpoLR-1920-80.png" alt="iOS 27.3 Vertical Tabs in Safari" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>By default, the tabs, which will live on the left side of your browser window in iPadOS and macOS (and iOS for the <a href="https://www.techradar.com/phones/iphone/apple-iphone-duo-review">iPhone Duo</a>), appear as icons — a space-saving measure. You can hover over any of them for a quick look at the hidden browser window.</p><p>There are other vertical tab features like the ability to pin tabs at the top of your list by dragging and dropping them, and tab groups. The tabs will work on the iPad and, yes, the new iPhone Duo in portrait and landscape 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="guquy8wRdCoNU4udnM27X8" name="iOS-27-3-dev-beta-Adaptive-Dark" alt="iOS 27.3 Adaptive Dark Mode" src="https://cdn.mos.cms.futurecdn.net/guquy8wRdCoNU4udnM27X8-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 platform updates also bring a new kind of Dark Mode. Instead of only showing the mode on web pages that support it, Safari will offer to tune unsupported pages to Dark Mode too — but in a way, Apple promises, that won't ruin the sites. </p><p>The Adaptive Dark Mode will automatically darken light backgrounds, invert logos and graphics, recolor vector artwork, lift raised surfaces, and even detect shadows and adjust them. It will not touch already darkened sites. For developers, there are new tags they can use that will prevent Adaptive Dark Mode from adjusting them.</p><p>The update is also bringing some Siri AI browser tools to Safari for hardware that supports Apple Intelligence. Siri AI already has, with your permission, an awareness of what's on your screen, but with this update it'll see entire web pages (beyond what you see in the screen frame) and even hidden tabs.</p><p>This can be useful when you want to do wholesale organization and group tabs. Say you want all tabs relating to a trip to Malta sorted by activity, or you need all your car shopping tabs grouped and organized by car price.</p><p>Siri AI can, with new Custom Actions, do your bidding on the browser and clean up your history by topic, site, and time period. It might be useful when you don't want someone seeing that you've been shopping for the last few days on a particular site for that coveted gift. There might be other reasons for targeted history scrubbing, but no need to get into that 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="2ok3WCEGySN46ZzQht29m8" name="iOS-27-3-dev-beta-Siri-Recap" alt="iOS 27-3 Siri Recap" src="https://cdn.mos.cms.futurecdn.net/2ok3WCEGySN46ZzQht29m8-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: Apple)</span></figcaption></figure><p>Other notable updates arriving in iOS 27.3, iPadOS 27.3, macOS 27.3, watchOS 27.3 Dev Beta 1 include:</p><ul><li>Siri App Actions will let Siri AI dig even more deeply into your system by organizing files, making trip plans, creating playlists, scheduling group messages, and finding the best photos to share.</li><li>The promised <a href="https://www.techradar.com/phones/ios/here-are-21-new-features-in-ios-27-that-apple-didnt-have-time-to-mention-during-its-wwdc-2026-keynote">Apple Health app overhaul</a>, which uses Apple Intelligence, will give you more insights from your health data.</li><li>The pair of <a href="https://www.techradar.com/health-fitness/smartwatches/thanks-to-siri-recaps-your-apple-watch-is-always-listening-as-you-go-about-your-day-but-apple-may-be-risking-a-meta-glasses-style-backlash">Audio Intelligence</a> features that will work with your Apple Watch Series 12: <ul><li>Live rewind, for recalling what was said in conversation (you have to double-press the watch crown to read the last snippet of conversation). It might be a great tool for settling he said/he said arguments.</li><li>Siri Recap, which, when enabled, can use Apple Intelligence to recap and summarize an entire talk, speech, lesson, or maybe a TED Talk.</li></ul></li></ul><p>The changes are coming to 27.3 betas first and will eventually roll out to the other platforms in a full release. For now, though, all of these updates are found only in the Dev Betas, which are typically the earliest and potentially buggiest releases before Apple moves on to Public Betas (which anyone can install) and the final releases. There's no word on when the full releases will arrive, and we would caution you against installing Developer betas on any of your everyday Apple devices.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/browsers/safari-finally-gets-vertical-tabs-and-a-new-way-to-make-any-site-dark-all-thanks-to-ios-27-3</link>
                                                                            <description>
                            <![CDATA[ Apple's OS 27.3 Dev Beta 1 for iPad, Mac, iPhone, and Apple Watch is bringing a host of big updates (including eagerly anticipated Audio Intelligence) to test...if you dare. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">MKoD7mrfR3oRjfepyHvTZj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/z8yQvibPc5LBFmhjaM8Tjk-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 21:00:43 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 13:02:37 +0000</updated>
                                                                                                                                            <category><![CDATA[Browsers]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ lance.ulanoff@futurenet.com (Lance Ulanoff) ]]></author>                    <dc:creator><![CDATA[ Lance Ulanoff ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/W2qksRaQeUfBGMwsW5bTGh-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Lance Ulanoff is an &lt;a href=&quot;https://cdn.mos.cms.futurecdn.net/ox35RKH2kNKBfSBfvHEoK6.jpg&quot;&gt;award-winning tech journalist&lt;/a&gt;, on-air expert, and commentator.&lt;/p&gt;
&lt;p&gt;&lt;br&gt;&lt;/p&gt;
&lt;p&gt;Before joining TechRadar, he served as Editor in Chief of Lifewire. Prior to that, he was Chief Correspondent for Mashable where he covered all facets of technology and the&amp;nbsp;intersection&amp;nbsp;of digital and life. He also helped Mashable find new ways to&amp;nbsp;tell&amp;nbsp;stories. Lance is based in NY.&lt;br&gt;
&lt;br&gt;
A 38-year industry veteran, &lt;a href=&quot;https://en.wikipedia.org/wiki/Lance_Ulanoff&quot; target=&quot;_blank&quot;&gt;Lance Ulanoff&lt;/a&gt; has covered technology since PCs were the size of suitcases, “on line” meant “waiting” and CPU speeds were measured in single-digit megahertz. Prior to joining Mashable as Editor in Chief in 2011, Lance Ulanoff served as Editor in Chief of PCMag.com and Senior Vice President of Content for the Ziff Davis, Inc. While there, he guided the brand to a 100% digital existence and oversaw content strategy for all of Ziff Davis’ Web sites. His long-running column on PCMag.com earned him a Bronze award from the ASBPE. Winmag.com, HomePC.com, and PCMag.com were all honored under Lance’s guidance.&amp;nbsp;&lt;br&gt;
&lt;br&gt;
He makes frequent appearances on national, international, and local news programs including &lt;a href=&quot;https://kellyandryan.com/homepagemodules/new-years-tech-resolutions-with-lance-ulanoff/&quot; target=&quot;_blank&quot;&gt;Live with Kelly and Mark&lt;/a&gt;, &lt;a href=&quot;https://www.today.com/video/google-glass-is-beginning-of-a-revolution-44496451646&quot; target=&quot;_blank&quot;&gt;the Today Show&lt;/a&gt;, Good Morning America, CNBC, CNN, and the BBC. He has also offered commentary on National Public Radio and been interviewed by newspapers and radio stations around the country. Lance has been an invited guest speaker at numerous technology conferences including Think Mobile, CEA Line Shows, Digital Life, RoboBusiness, RoboNexus, Business Foresight, and Digital Media Wire’s Games and Mobile Forum.&lt;br&gt;
&lt;br&gt;
Lance received his Bachelor of Arts in Journalism from Hofstra University in New York. He serves on Hofstra’s School of Communication Advisory Board.&lt;br&gt;
&lt;br&gt;
In his spare time, Lance draws cartoons, which he occasionally posts online. He and his wife Linda have been married for over 30 years and have raised two amazing children.&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/z8yQvibPc5LBFmhjaM8Tjk-1920-80.jpg">
                                                            <media:credit><![CDATA[Lance Ulanoff / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[iOS 27.3 Dev Beta]]></media:description>                                                            <media:text><![CDATA[iOS 27.3 Dev Beta]]></media:text>
                                <media:title type="plain"><![CDATA[iOS 27.3 Dev Beta]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/z8yQvibPc5LBFmhjaM8Tjk-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Safari is getting some useful updates for iOS, iPadOS, and macOS</strong></li><li><strong>Vertical tabs will arrive, but only in the dev betas for now</strong></li><li><strong>Other features like Adaptive Dark Mode and Siri AI browser tools are coming, too, along with our first glimpse of the new Audio Intelligence capabilities</strong></li></ul><p>On the global web browser stage Safari lags behind Chrome, but when it comes to Apple's 2.5 billion customers, it reigns supreme. Yet, even those devoted users might've noticed that their favorite browser was lacking at least one long-sought feature. Now, with the introduction of Dev Betas for iOS 27.3, iPadOS 27.3, and macOS 27.3, they're getting their wish.</p><p>In beta today, the platform upgrade brings a series of relatively small but important updates to Safari across the iPhone Duo, iPad, and Mac. And chief among them is vertical tabs.</p><p>As is often the case, Apple didn't invent this idea. I started using vertical tabs in — of all things — Microsoft Edge years ago, and even Chrome recently added them. Now, with the Safari update, you can open the Safari View Menu or hop into Settings and select vertical tabs.</p><figure role="gallery"><figure><img src="https://cdn.mos.cms.futurecdn.net/YctHuxmcZmkHm2skjtjKXQ-1920-80.png" alt="iOS 27.3 Vertical Tabs in Safari" /><figcaption><small role="credit">Future</small></figcaption></figure><figure><img src="https://cdn.mos.cms.futurecdn.net/gLyabXNrETK8MLecbFpoLR-1920-80.png" alt="iOS 27.3 Vertical Tabs in Safari" /><figcaption><small role="credit">Future</small></figcaption></figure></figure><p>By default, the tabs, which will live on the left side of your browser window in iPadOS and macOS (and iOS for the <a href="https://www.techradar.com/phones/iphone/apple-iphone-duo-review">iPhone Duo</a>), appear as icons — a space-saving measure. You can hover over any of them for a quick look at the hidden browser window.</p><p>There are other vertical tab features like the ability to pin tabs at the top of your list by dragging and dropping them, and tab groups. The tabs will work on the iPad and, yes, the new iPhone Duo in portrait and landscape 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="guquy8wRdCoNU4udnM27X8" name="iOS-27-3-dev-beta-Adaptive-Dark" alt="iOS 27.3 Adaptive Dark Mode" src="https://cdn.mos.cms.futurecdn.net/guquy8wRdCoNU4udnM27X8-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 platform updates also bring a new kind of Dark Mode. Instead of only showing the mode on web pages that support it, Safari will offer to tune unsupported pages to Dark Mode too — but in a way, Apple promises, that won't ruin the sites. </p><p>The Adaptive Dark Mode will automatically darken light backgrounds, invert logos and graphics, recolor vector artwork, lift raised surfaces, and even detect shadows and adjust them. It will not touch already darkened sites. For developers, there are new tags they can use that will prevent Adaptive Dark Mode from adjusting them.</p><p>The update is also bringing some Siri AI browser tools to Safari for hardware that supports Apple Intelligence. Siri AI already has, with your permission, an awareness of what's on your screen, but with this update it'll see entire web pages (beyond what you see in the screen frame) and even hidden tabs.</p><p>This can be useful when you want to do wholesale organization and group tabs. Say you want all tabs relating to a trip to Malta sorted by activity, or you need all your car shopping tabs grouped and organized by car price.</p><p>Siri AI can, with new Custom Actions, do your bidding on the browser and clean up your history by topic, site, and time period. It might be useful when you don't want someone seeing that you've been shopping for the last few days on a particular site for that coveted gift. There might be other reasons for targeted history scrubbing, but no need to get into that 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="2ok3WCEGySN46ZzQht29m8" name="iOS-27-3-dev-beta-Siri-Recap" alt="iOS 27-3 Siri Recap" src="https://cdn.mos.cms.futurecdn.net/2ok3WCEGySN46ZzQht29m8-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: Apple)</span></figcaption></figure><p>Other notable updates arriving in iOS 27.3, iPadOS 27.3, macOS 27.3, watchOS 27.3 Dev Beta 1 include:</p><ul><li>Siri App Actions will let Siri AI dig even more deeply into your system by organizing files, making trip plans, creating playlists, scheduling group messages, and finding the best photos to share.</li><li>The promised <a href="https://www.techradar.com/phones/ios/here-are-21-new-features-in-ios-27-that-apple-didnt-have-time-to-mention-during-its-wwdc-2026-keynote">Apple Health app overhaul</a>, which uses Apple Intelligence, will give you more insights from your health data.</li><li>The pair of <a href="https://www.techradar.com/health-fitness/smartwatches/thanks-to-siri-recaps-your-apple-watch-is-always-listening-as-you-go-about-your-day-but-apple-may-be-risking-a-meta-glasses-style-backlash">Audio Intelligence</a> features that will work with your Apple Watch Series 12: <ul><li>Live rewind, for recalling what was said in conversation (you have to double-press the watch crown to read the last snippet of conversation). It might be a great tool for settling he said/he said arguments.</li><li>Siri Recap, which, when enabled, can use Apple Intelligence to recap and summarize an entire talk, speech, lesson, or maybe a TED Talk.</li></ul></li></ul><p>The changes are coming to 27.3 betas first and will eventually roll out to the other platforms in a full release. For now, though, all of these updates are found only in the Dev Betas, which are typically the earliest and potentially buggiest releases before Apple moves on to Public Betas (which anyone can install) and the final releases. There's no word on when the full releases will arrive, and we would caution you against installing Developer betas on any of your everyday Apple devices.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Rumored RTX 5080 Super is delayed, while GPU prices are rocketing upwards ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Nvidia's RTX 5080 Super was rumored for January 2027, but fresh gossip suggests it's delayed</strong></li><li><strong>Meanwhile, a new report on GPU prices observes a hefty price jump month-on-month</strong></li><li><strong>Even lower-end GPUs are getting more costly at a faster pace, and the high-end is a nightmare — with no RTX 5080 Super riding to the rescue, it seems</strong></li></ul><p><a href="https://www.techradar.com/computing/gpu/are-we-seeing-the-first-signs-of-nvidia-abandoning-pc-gamers-as-the-rtx-5090-seemingly-disappears-from-shelves-im-getting-more-worried-about-geforce-gpus">Nvidia's RTX 5080 Super has been strongly rumored</a> of late, but there's now been a cloud of doubt cast over this potential addition to the Blackwell range — just as we've got more evidence of how dire the situation with <a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">GPU price hikes</a> has recently become.</p><p><a href="https://videocardz.com/newz/nvidia-reportedly-hasnt-provided-rtx-5080-24gb-design-kits-to-board-partners-yet" target="_blank">VideoCardz spotted</a> the latest from the rumor mill on the RTX 5080 Super, a graphics card that supposedly packs 24GB of video RAM, with Taiwanese tech site <a href="https://benchlife.info/nvidia-geforce-rtx-5080-24gb-might-not-launch-at-q1/" target="_blank">Benchlife reporting</a> that Nvidia has delayed the GPU (assuming it's a real product in the first place, of course).</p><p>We were told via other rumor peddlers that the 24GB spin on the RTX 5080 is theoretically planned for a January 2027 launch, but Benchlife asserts that the release date "remains unclear" and that Nvidia's board manufacturing partners have yet to receive any design details for the new model.</p><p>Given that, according to Benchlife, the "probability is extremely high" that the RTX 5080 Super won't debut in January, considering that board makers were expecting to receive the mentioned design info back in October.</p><p>This pushes the rumored GPU back at least a month, very probably more, and the idea of that is hardly surprising given the ongoing RAM crisis, which has been getting worse as 2026 rolls on.</p><p>That affects video RAM, and it's the main driver of price spikes with graphics cards, which are starting to get out of hand, as evidenced by <a href="https://www.techspot.com/article/3192-gpu-pricing-q4-2026/" target="_blank">TechSpot's latest monthly report</a> highlighting the current cost of GPUs across various regions.</p><p>What TechSpot's monitoring data for October 2026 shows is that, as we already knew, high-end pricing has gone even further off the rails. The RTX 5080 is up 39% in the US and 40% in Germany month-on-month, for example, which is ludicrous, frankly — in the US it's now 120% over the MSRP at $2,200. The UK has seen an 8% hike over the past month, with this GPU now 40% over its MSRP in the country. Globally, it's 77% over Nvidia's recommended price on average.</p><p>The RTX 5090 is even sillier, as <a href="https://www.techradar.com/computing/gpu/nvidia-rtx-5090-gpu-prices-skyrocket-to-usd9-000-as-fresh-rtx-6000-rumor-suggests-a-2027-launch-that-fills-me-with-dread">we've seen for some time now</a>, and stands at $9,400 in the US in October, some 370% over the already very expensive MSRP. If you can find the Blackwell flagship at all, that is.</p><p>What's really worrying is that TechSpot's data shows lower-tier GPUs are now seeing some major price bumps. Want a humble RTX 5050 in the US? It's gone up 35% over the past month (an increase of over $100), so you'll now pay 68% over the MSRP.</p><p>The RTX 5060 is creeping up in price in some European countries, too — it's up 7% in the UK and 13% in Germany. The RTX 5060 Ti 8GB has gone up more, with this GPU getting hiked by 10% in the UK, so it's now £440 compared to £350 back at the start of 2026. The 5060 Ti 8GB went up 6% in the US, too, so it's now 40% over the MSRP in total.</p><p>There are hikes across the board for Nvidia, and AMD's Radeon GPUs are getting more expensive at an even faster rate currently. Again, lower-end graphics cards are suffering, such as RX 9060 XT models being up 10% on average month-on-month. The RX 9070 XT is also up 10% in the US since last month, and the increase in Canada has been a sickening 30% — in just one month.</p><h2 id="analysis-a-deteriorating-situation-for-gpus">Analysis: a deteriorating situation for GPUs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ntduKQqXWH4megsF8oSVgC" name="logo" alt="An Nvidia GeForce RTX 5080 leaning against its retail packaging with the RTX 5080 logo visible" src="https://cdn.mos.cms.futurecdn.net/ntduKQqXWH4megsF8oSVgC-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>What does all this tell us? That spiralling graphics card prices are very real, with some huge ongoing hikes for higher-end models — but this isn't just a top-end GPU problem any longer. The real concern is that lower-tier boards are also seeing more price inflation, and I don't think this is a problem that's going away.</p><p>Indeed, based on the weighty amount of chatter about the memory crisis continuing to get worse in this final quarter of 2026 and into next year, there's every reason to believe that GPU prices could keep going up. That's why <a href="https://www.techradar.com/computing/memory/the-ram-crisis-has-become-a-monster-heres-why-black-friday-is-your-best-chance-of-slaying-the-beast-and-what-pc-bargains-you-should-look-for">I've been advising PC owners thinking of a GPU upgrade</a> to treat Black Friday as a prime (pun not intended) opportunity to get in and <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">buy a graphics card</a> before any more hikes. </p><p>With the RTX 5090 reportedly effectively discontinued — something Nvidia strenuously denies, but the stock situation speaks for itself in countries like the US — and the RTX 5080 pricing itself well out of the range of the vast majority of consumers, those who were anticipating the RTX 5080 Super to ride to the rescue have suffered a fresh blow here, too.</p><p>I never thought that was a realistic proposition anyway, mind, but still, it's clear enough that the GPU market is in trouble, and Nvidia seemingly doesn't have any answers in the short term for the upper echelons of its Blackwell range. As noted, though, the real worry is that there's more pain coming to the more affordable end of the graphics card spectrum, where mainstream buyers make their purchases.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/gpu/the-probability-is-extremely-high-that-nvidias-rumored-rtx-5080-super-has-been-delayed-and-with-gpu-prices-rocketing-upwards-the-future-looks-bleak</link>
                                                                            <description>
                            <![CDATA[ Nvidia's RTX 5080 Super was rumored to be targeted for a January 2027 release, but apparently that isn't happening. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">rY8vr6xXhqVEiPNSP5nPN7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/fB4xhGeRkAJAnQZ5YUNiLR-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 20:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[GPU]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/fB4xhGeRkAJAnQZ5YUNiLR-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / aslysun]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sad looking person holding head in hands sat at a gaming PC]]></media:description>                                                            <media:text><![CDATA[Sad looking person holding head in hands sat at a gaming PC]]></media:text>
                                <media:title type="plain"><![CDATA[Sad looking person holding head in hands sat at a gaming PC]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/fB4xhGeRkAJAnQZ5YUNiLR-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Nvidia's RTX 5080 Super was rumored for January 2027, but fresh gossip suggests it's delayed</strong></li><li><strong>Meanwhile, a new report on GPU prices observes a hefty price jump month-on-month</strong></li><li><strong>Even lower-end GPUs are getting more costly at a faster pace, and the high-end is a nightmare — with no RTX 5080 Super riding to the rescue, it seems</strong></li></ul><p><a href="https://www.techradar.com/computing/gpu/are-we-seeing-the-first-signs-of-nvidia-abandoning-pc-gamers-as-the-rtx-5090-seemingly-disappears-from-shelves-im-getting-more-worried-about-geforce-gpus">Nvidia's RTX 5080 Super has been strongly rumored</a> of late, but there's now been a cloud of doubt cast over this potential addition to the Blackwell range — just as we've got more evidence of how dire the situation with <a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">GPU price hikes</a> has recently become.</p><p><a href="https://videocardz.com/newz/nvidia-reportedly-hasnt-provided-rtx-5080-24gb-design-kits-to-board-partners-yet" target="_blank">VideoCardz spotted</a> the latest from the rumor mill on the RTX 5080 Super, a graphics card that supposedly packs 24GB of video RAM, with Taiwanese tech site <a href="https://benchlife.info/nvidia-geforce-rtx-5080-24gb-might-not-launch-at-q1/" target="_blank">Benchlife reporting</a> that Nvidia has delayed the GPU (assuming it's a real product in the first place, of course).</p><p>We were told via other rumor peddlers that the 24GB spin on the RTX 5080 is theoretically planned for a January 2027 launch, but Benchlife asserts that the release date "remains unclear" and that Nvidia's board manufacturing partners have yet to receive any design details for the new model.</p><p>Given that, according to Benchlife, the "probability is extremely high" that the RTX 5080 Super won't debut in January, considering that board makers were expecting to receive the mentioned design info back in October.</p><p>This pushes the rumored GPU back at least a month, very probably more, and the idea of that is hardly surprising given the ongoing RAM crisis, which has been getting worse as 2026 rolls on.</p><p>That affects video RAM, and it's the main driver of price spikes with graphics cards, which are starting to get out of hand, as evidenced by <a href="https://www.techspot.com/article/3192-gpu-pricing-q4-2026/" target="_blank">TechSpot's latest monthly report</a> highlighting the current cost of GPUs across various regions.</p><p>What TechSpot's monitoring data for October 2026 shows is that, as we already knew, high-end pricing has gone even further off the rails. The RTX 5080 is up 39% in the US and 40% in Germany month-on-month, for example, which is ludicrous, frankly — in the US it's now 120% over the MSRP at $2,200. The UK has seen an 8% hike over the past month, with this GPU now 40% over its MSRP in the country. Globally, it's 77% over Nvidia's recommended price on average.</p><p>The RTX 5090 is even sillier, as <a href="https://www.techradar.com/computing/gpu/nvidia-rtx-5090-gpu-prices-skyrocket-to-usd9-000-as-fresh-rtx-6000-rumor-suggests-a-2027-launch-that-fills-me-with-dread">we've seen for some time now</a>, and stands at $9,400 in the US in October, some 370% over the already very expensive MSRP. If you can find the Blackwell flagship at all, that is.</p><p>What's really worrying is that TechSpot's data shows lower-tier GPUs are now seeing some major price bumps. Want a humble RTX 5050 in the US? It's gone up 35% over the past month (an increase of over $100), so you'll now pay 68% over the MSRP.</p><p>The RTX 5060 is creeping up in price in some European countries, too — it's up 7% in the UK and 13% in Germany. The RTX 5060 Ti 8GB has gone up more, with this GPU getting hiked by 10% in the UK, so it's now £440 compared to £350 back at the start of 2026. The 5060 Ti 8GB went up 6% in the US, too, so it's now 40% over the MSRP in total.</p><p>There are hikes across the board for Nvidia, and AMD's Radeon GPUs are getting more expensive at an even faster rate currently. Again, lower-end graphics cards are suffering, such as RX 9060 XT models being up 10% on average month-on-month. The RX 9070 XT is also up 10% in the US since last month, and the increase in Canada has been a sickening 30% — in just one month.</p><h2 id="analysis-a-deteriorating-situation-for-gpus">Analysis: a deteriorating situation for GPUs</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="ntduKQqXWH4megsF8oSVgC" name="logo" alt="An Nvidia GeForce RTX 5080 leaning against its retail packaging with the RTX 5080 logo visible" src="https://cdn.mos.cms.futurecdn.net/ntduKQqXWH4megsF8oSVgC-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>What does all this tell us? That spiralling graphics card prices are very real, with some huge ongoing hikes for higher-end models — but this isn't just a top-end GPU problem any longer. The real concern is that lower-tier boards are also seeing more price inflation, and I don't think this is a problem that's going away.</p><p>Indeed, based on the weighty amount of chatter about the memory crisis continuing to get worse in this final quarter of 2026 and into next year, there's every reason to believe that GPU prices could keep going up. That's why <a href="https://www.techradar.com/computing/memory/the-ram-crisis-has-become-a-monster-heres-why-black-friday-is-your-best-chance-of-slaying-the-beast-and-what-pc-bargains-you-should-look-for">I've been advising PC owners thinking of a GPU upgrade</a> to treat Black Friday as a prime (pun not intended) opportunity to get in and <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">buy a graphics card</a> before any more hikes. </p><p>With the RTX 5090 reportedly effectively discontinued — something Nvidia strenuously denies, but the stock situation speaks for itself in countries like the US — and the RTX 5080 pricing itself well out of the range of the vast majority of consumers, those who were anticipating the RTX 5080 Super to ride to the rescue have suffered a fresh blow here, too.</p><p>I never thought that was a realistic proposition anyway, mind, but still, it's clear enough that the GPU market is in trouble, and Nvidia seemingly doesn't have any answers in the short term for the upper echelons of its Blackwell range. As noted, though, the real worry is that there's more pain coming to the more affordable end of the graphics card spectrum, where mainstream buyers make their purchases.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Meta is ending support for the Quest 2 and Quest 2 Pro VR headsets ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Meta has announced the end of support for two of its popular VR headsets</strong></li><li><strong>The devices affected are the Quest 2 and the Quest 2 Pro</strong></li><li><strong>Support will be discontinued at the end of 2027</strong></li></ul><p>If you own a Meta Quest 2 or a Meta Quest Pro virtual reality headset, we’ve got some bad news: Meta has announced it is planning to wind down support for these devices next year, leaving large numbers of users without support for their VR products. </p><p>An announcement on the <a href="https://developers.meta.com/vr/blog/meta-quest-2-quest-pro-end-of-feature-development-what-to-know/" target="_blank">Meta blog</a> aimed at developers details how things stand for creators of apps and services made for these headsets. With the two devices “reaching the end of feature development⁠,” big changes are on the way. </p><p>For one thing, new app submissions for these devices will be closed in December 2027. For another, version 2.13 of the Quest’s operating system (due out in March 2027) will be the last one to work with these headsets. Quarterly security patches and critical bug fixes will continue “through the end of 2027,” Meta said. </p><p>Still, Meta attempted to reassure developers of apps made for these VR headsets, stating that “People on Quest 2 and Quest Pro can still find, buy, download, and play your apps.” Cross-play with <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/hands-on-meta-quest-3-review">Quest 3</a> and <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-quest-3s-review-an-affordable-mixed-reality-headset-that-everyone-might-want">Quest 3S</a> headsets will continue, and developers can keep sending out updates to Quest 2 and Quest 2 Pro users. </p><p>And Meta’s app store for VR headsets will continue to be available to users of these soon-to-be-discontinued devices, with the firm saying that “people keep access to everything they’ve purchased, and no apps will be removed from the Store because of this change.”</p><h2 id="time-to-upgrade">Time to upgrade?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="385hwzX9JojTPuqjJg4F7K" name="shutterstock_1888771789.jpg" alt="Oculus Quest 2 on a white background" src="https://cdn.mos.cms.futurecdn.net/385hwzX9JojTPuqjJg4F7K-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock / Boumen Japet)</span></figcaption></figure><p>The Quest 2 launched in 2020, making it six years old at this point. Although we scored it highly <a href="https://www.techradar.com/reviews/oculus-quest-2-review">in our review</a>, it’s since been succeeded by the Quest 3, which is our pick for the <a href="https://www.techradar.com/news/the-best-vr-headset">best VR headset</a> around. Evidently, Meta feels it’s now time to retire the Quest 2 and its Quest 2 Pro sibling, with the Quest Pro line having allegedly been <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-is-rumored-to-have-canceled-its-next-high-end-vr-headset-and-the-vision-pro-could-be-to-blame">phased out entirely in 2024</a>. </p><p>Meta framed the change as one that’s paving the way for its upcoming <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/ive-worn-metas-vr-glasses-and-theyre-coming-to-eat-the-apple-vision-pros-lunch-for-one-big-reason-theyre-1-6-the-weight">VR Glasses</a>. The company said that the Quest 3 and Quest 3S are “the baseline for Meta VR gamers” with its VR Glasses due to bring “another leap forward” for the industry. In that world, there’s apparently no more room for the Quest 2 and Quest 2 Pro. </p><p>Continuing app development for the Quest 2 and Quest 2 Pro might prove to be tricky, as Meta says it will not test new operating system and SDK releases on these products. Instead, it’ll be up to developers to ensure their apps function as intended. </p><p>Meta urged developers to assess how much of their audience is using Quest 2 and Quest 2 Pro devices and to consider splitting their releases to accommodate those on older headsets. If developers want to end support for these products, they should give users at least 180 days’ notice if customers could end up losing access to content or services as a result.</p><p>If you’ve got a Meta Quest 2 or Meta Quest 2 Pro at home, you’ll need to think about what you want to do going forward. While you should be able to continue using your headset, the lack of critical bug fixes after the end of 2027 could prove to be a problem. In that case, it might finally be time to upgrade to one of the <a href="https://www.techradar.com/news/the-best-vr-headset">best VR headsets</a> to ensure you don’t miss out on anything.</p><div data-widget-type="multimodelreview" data-widget-title="Today’s best VR headset deals" data-model-name="Meta Quest 3,Meta Quest 3S,Apple Vision Pro,Sony PlayStation VR2,HTC Vive Pro 2"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-is-ending-support-for-the-quest-2-and-quest-2-pro-vr-headsets-as-it-promises-its-vr-glasses-will-be-another-leap-forward-for-users</link>
                                                                            <description>
                            <![CDATA[ Meta says it will end support for its Quest 2 and Quest 2 Pro VR headsets at the end of 2027. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">bpDvqLjEG5zSedQCuN3pP7</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4i7QLjjhtSrKKbFSNuzQgT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 17:27:10 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Nov 2026 20:25:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Virtual Reality & Augmented Reality]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                <author><![CDATA[ alexblake.techradar@gmail.com (Alex Blake) ]]></author>                    <dc:creator><![CDATA[ Alex Blake ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwmVRU4zMGnDYsGVAFvRmL-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alex Blake has been fooling around with computers since the early 1990s, and since that time he&#039;s learned a thing or two about tech. No more than two things, though. That&#039;s all his brain can hold. As well as TechRadar, Alex writes for iMore, Digital Trends and Creative Bloq, among others. He was previously commissioning editor at MacFormat magazine. That means he mostly covers the world of Apple and its latest products, but also Windows, computer peripherals, mobile apps, and much more beyond. When not writing, you can find him hiking the English countryside and gaming on his PC.&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/4i7QLjjhtSrKKbFSNuzQgT-1920-80.jpg">
                                                            <media:credit><![CDATA[Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Meta Quest 2]]></media:description>                                                            <media:text><![CDATA[Meta Quest 2]]></media:text>
                                <media:title type="plain"><![CDATA[Meta Quest 2]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4i7QLjjhtSrKKbFSNuzQgT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Meta has announced the end of support for two of its popular VR headsets</strong></li><li><strong>The devices affected are the Quest 2 and the Quest 2 Pro</strong></li><li><strong>Support will be discontinued at the end of 2027</strong></li></ul><p>If you own a Meta Quest 2 or a Meta Quest Pro virtual reality headset, we’ve got some bad news: Meta has announced it is planning to wind down support for these devices next year, leaving large numbers of users without support for their VR products. </p><p>An announcement on the <a href="https://developers.meta.com/vr/blog/meta-quest-2-quest-pro-end-of-feature-development-what-to-know/" target="_blank">Meta blog</a> aimed at developers details how things stand for creators of apps and services made for these headsets. With the two devices “reaching the end of feature development⁠,” big changes are on the way. </p><p>For one thing, new app submissions for these devices will be closed in December 2027. For another, version 2.13 of the Quest’s operating system (due out in March 2027) will be the last one to work with these headsets. Quarterly security patches and critical bug fixes will continue “through the end of 2027,” Meta said. </p><p>Still, Meta attempted to reassure developers of apps made for these VR headsets, stating that “People on Quest 2 and Quest Pro can still find, buy, download, and play your apps.” Cross-play with <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/hands-on-meta-quest-3-review">Quest 3</a> and <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-quest-3s-review-an-affordable-mixed-reality-headset-that-everyone-might-want">Quest 3S</a> headsets will continue, and developers can keep sending out updates to Quest 2 and Quest 2 Pro users. </p><p>And Meta’s app store for VR headsets will continue to be available to users of these soon-to-be-discontinued devices, with the firm saying that “people keep access to everything they’ve purchased, and no apps will be removed from the Store because of this change.”</p><h2 id="time-to-upgrade">Time to upgrade?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:8192px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="385hwzX9JojTPuqjJg4F7K" name="shutterstock_1888771789.jpg" alt="Oculus Quest 2 on a white background" src="https://cdn.mos.cms.futurecdn.net/385hwzX9JojTPuqjJg4F7K-1920-80.jpg" mos="" align="middle" fullscreen="" width="8192" height="4608" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock / Boumen Japet)</span></figcaption></figure><p>The Quest 2 launched in 2020, making it six years old at this point. Although we scored it highly <a href="https://www.techradar.com/reviews/oculus-quest-2-review">in our review</a>, it’s since been succeeded by the Quest 3, which is our pick for the <a href="https://www.techradar.com/news/the-best-vr-headset">best VR headset</a> around. Evidently, Meta feels it’s now time to retire the Quest 2 and its Quest 2 Pro sibling, with the Quest Pro line having allegedly been <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/meta-is-rumored-to-have-canceled-its-next-high-end-vr-headset-and-the-vision-pro-could-be-to-blame">phased out entirely in 2024</a>. </p><p>Meta framed the change as one that’s paving the way for its upcoming <a href="https://www.techradar.com/computing/virtual-reality-augmented-reality/ive-worn-metas-vr-glasses-and-theyre-coming-to-eat-the-apple-vision-pros-lunch-for-one-big-reason-theyre-1-6-the-weight">VR Glasses</a>. The company said that the Quest 3 and Quest 3S are “the baseline for Meta VR gamers” with its VR Glasses due to bring “another leap forward” for the industry. In that world, there’s apparently no more room for the Quest 2 and Quest 2 Pro. </p><p>Continuing app development for the Quest 2 and Quest 2 Pro might prove to be tricky, as Meta says it will not test new operating system and SDK releases on these products. Instead, it’ll be up to developers to ensure their apps function as intended. </p><p>Meta urged developers to assess how much of their audience is using Quest 2 and Quest 2 Pro devices and to consider splitting their releases to accommodate those on older headsets. If developers want to end support for these products, they should give users at least 180 days’ notice if customers could end up losing access to content or services as a result.</p><p>If you’ve got a Meta Quest 2 or Meta Quest 2 Pro at home, you’ll need to think about what you want to do going forward. While you should be able to continue using your headset, the lack of critical bug fixes after the end of 2027 could prove to be a problem. In that case, it might finally be time to upgrade to one of the <a href="https://www.techradar.com/news/the-best-vr-headset">best VR headsets</a> to ensure you don’t miss out on anything.</p><div data-widget-type="multimodelreview" data-widget-title="Today’s best VR headset deals" data-model-name="Meta Quest 3,Meta Quest 3S,Apple Vision Pro,Sony PlayStation VR2,HTC Vive Pro 2"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Synology NAS devices could be under attack from new ransomware threat — so update now ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Synology warned of active ransomware attacks exploiting long-patched DSM vulnerabilities on unupdated NAS devices</strong></li><li><strong>Attackers are reportedly deploying the C3rb3r encryptor and demanding thousands of dollars in ransom</strong></li><li><strong>Users are urged to patch immediately, restrict internet exposure, and secure NAS access to prevent compromise</strong></li></ul><p>Synology, a major network-attached storage (NAS) manufacturer, is warning users about ongoing ransomware attacks targeting devices running outdated software. It urged all users to apply provided patches and secure their devices without delay.</p><p>In a brief announcement, Synology said it “identified threat actors exploiting a vulnerability patched in December 2024 to target devices running outdated versions of DSM.” The goal of the attacks seem to be data encryption and a ransom demand. </p><p>“Synology strongly urges all users running vulnerable versions to update DSM immediately to protect their systems. Synology also recommends enabling automatic updates to keep DSM up to date at all times.”</p><h2 id="c3rb3r-attacks">C3rb3r attacks</h2><p>The announcement is rather stingy on the details. We don’t know which vulnerability the threat actors are exploiting, where exactly, or how successful they are. </p><p>We also don’t know how many devices are at risk - the Shadowserver Foundation tracks a total of 380,000 internet-connected endpoints (many of which are, most likely, running the latest software version and are thus protected). </p><p>The company also did not say who the threat actors are, but according to<em> </em><a href="https://www.bleepingcomputer.com/news/security/synology-warns-customers-of-ongoing-c3rb3r-ransomware-attacks/" target="_blank"><em>BleepingComputer</em></a>, there has been a “massive wave of reports” from Synology customers whose data was apparently locked down by the “C3rb3r” encryptor. These customers were asked to pay “thousands of dollars” in ransom, in exchange for the decryption key. The publication says the first reports started surfacing more than two weeks ago.</p><p>There are two main ways for cybercriminals to access an electronic device and encrypt the data found there - either by exploiting a zero-day vulnerability (one that has not yet received a patch), or by exploiting years-old n-day vulnerabilities (ones that were patched months ago) on devices that were never updated and secured. </p><p>With Synology users, the latter seems to be the case. The company said the attackers were exploiting a vulnerability patched in December 2024, and linked to a November 2024 security advisory, in which it listed three fixed bugs: CVE-2024-10441 (arbitrary code execution), CVE-2024-50629 (arbitrary file read), and CVE-2024-10445 (a bug that allows writing files on compromised devices). </p><p>DSM 7.2.2 owners should upgrade to 7.2.2-72806-1 or above, DSM 7.2.1to 7.2.1-69057-6 or above, and DSM 7.2 to 7.2-64570-4 or above. DSM 7.1 should upgrade to 7.1.1-42962-7 or above, while those running DSM 6.2 to 6.2.4-25556-8 or above. Only in the last version - 6.2 - is the vulnerability labeled as “moderate”. In all other cases it was deemed “critical”.</p><h2 id="why-are-nas-devices-being-targeted">Why are NAS devices being targeted?</h2><p>NAS devices are dedicated storage systems that businesses can connect to their local network and allow employees to access, share, and manage files stored in a centralized location. They are rather popular among SMBs that lack the resources to maintain a more complex enterprise storage infrastructure. </p><p>Besides being used as a hybrid cloud of sorts, NAS is also used to store business documents and often acts as a centralized backup. The relative low cost, straightforward deployment, and easily expandable storage capacity makes NAS devices an attractive alternative to both dedicated file servers and cloud storage subscriptions.</p><p>However, this also makes them a valuable target for cybercriminals, as we’ve seen in this Synology case. The best way to defend against <a href="https://www.techradar.com/best/best-ransomware-protection" target="_blank">ransomware</a> attackers is to either completely pull the NAS from the public internet or at least limit access to a handful of vetted identities. Keeping the devices updated with the latest firmware and software is also recommended. </p><p>It is worth mentioning that NAS devices usually come with RAID redundancy and built-in backup features, but these do not necessarily protect against ransomware encrypting the stored data.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/synology-nas-devices-could-be-under-attack-from-new-ransomware-threat-so-update-now</link>
                                                                            <description>
                            <![CDATA[ There's been a wave of attacks against Synology devices and the company urges users to update. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2topBJbwXpCzQiH7Wi5Az</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/RUyYKopfxTPNGFEJTvqWBk-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 17:10:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/RUyYKopfxTPNGFEJTvqWBk-1920-80.jpg">
                                                            <media:credit><![CDATA[null]]></media:credit>
                                                                                                                                                                                                                                                                                                                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/RUyYKopfxTPNGFEJTvqWBk-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Synology warned of active ransomware attacks exploiting long-patched DSM vulnerabilities on unupdated NAS devices</strong></li><li><strong>Attackers are reportedly deploying the C3rb3r encryptor and demanding thousands of dollars in ransom</strong></li><li><strong>Users are urged to patch immediately, restrict internet exposure, and secure NAS access to prevent compromise</strong></li></ul><p>Synology, a major network-attached storage (NAS) manufacturer, is warning users about ongoing ransomware attacks targeting devices running outdated software. It urged all users to apply provided patches and secure their devices without delay.</p><p>In a brief announcement, Synology said it “identified threat actors exploiting a vulnerability patched in December 2024 to target devices running outdated versions of DSM.” The goal of the attacks seem to be data encryption and a ransom demand. </p><p>“Synology strongly urges all users running vulnerable versions to update DSM immediately to protect their systems. Synology also recommends enabling automatic updates to keep DSM up to date at all times.”</p><h2 id="c3rb3r-attacks">C3rb3r attacks</h2><p>The announcement is rather stingy on the details. We don’t know which vulnerability the threat actors are exploiting, where exactly, or how successful they are. </p><p>We also don’t know how many devices are at risk - the Shadowserver Foundation tracks a total of 380,000 internet-connected endpoints (many of which are, most likely, running the latest software version and are thus protected). </p><p>The company also did not say who the threat actors are, but according to<em> </em><a href="https://www.bleepingcomputer.com/news/security/synology-warns-customers-of-ongoing-c3rb3r-ransomware-attacks/" target="_blank"><em>BleepingComputer</em></a>, there has been a “massive wave of reports” from Synology customers whose data was apparently locked down by the “C3rb3r” encryptor. These customers were asked to pay “thousands of dollars” in ransom, in exchange for the decryption key. The publication says the first reports started surfacing more than two weeks ago.</p><p>There are two main ways for cybercriminals to access an electronic device and encrypt the data found there - either by exploiting a zero-day vulnerability (one that has not yet received a patch), or by exploiting years-old n-day vulnerabilities (ones that were patched months ago) on devices that were never updated and secured. </p><p>With Synology users, the latter seems to be the case. The company said the attackers were exploiting a vulnerability patched in December 2024, and linked to a November 2024 security advisory, in which it listed three fixed bugs: CVE-2024-10441 (arbitrary code execution), CVE-2024-50629 (arbitrary file read), and CVE-2024-10445 (a bug that allows writing files on compromised devices). </p><p>DSM 7.2.2 owners should upgrade to 7.2.2-72806-1 or above, DSM 7.2.1to 7.2.1-69057-6 or above, and DSM 7.2 to 7.2-64570-4 or above. DSM 7.1 should upgrade to 7.1.1-42962-7 or above, while those running DSM 6.2 to 6.2.4-25556-8 or above. Only in the last version - 6.2 - is the vulnerability labeled as “moderate”. In all other cases it was deemed “critical”.</p><h2 id="why-are-nas-devices-being-targeted">Why are NAS devices being targeted?</h2><p>NAS devices are dedicated storage systems that businesses can connect to their local network and allow employees to access, share, and manage files stored in a centralized location. They are rather popular among SMBs that lack the resources to maintain a more complex enterprise storage infrastructure. </p><p>Besides being used as a hybrid cloud of sorts, NAS is also used to store business documents and often acts as a centralized backup. The relative low cost, straightforward deployment, and easily expandable storage capacity makes NAS devices an attractive alternative to both dedicated file servers and cloud storage subscriptions.</p><p>However, this also makes them a valuable target for cybercriminals, as we’ve seen in this Synology case. The best way to defend against <a href="https://www.techradar.com/best/best-ransomware-protection" target="_blank">ransomware</a> attackers is to either completely pull the NAS from the public internet or at least limit access to a handful of vetted identities. Keeping the devices updated with the latest firmware and software is also recommended. </p><p>It is worth mentioning that NAS devices usually come with RAID redundancy and built-in backup features, but these do not necessarily protect against ransomware encrypting the stored data.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ YouTuber shares scary audio technique that geolocates your videos to within 100m ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Security researcher combined audio analysis, flight data and a lot of number-crunching to identify audio locations</strong></li><li><strong>Aircraft that are inaudible on the soundtrack can still reveal the recorder's location</strong></li><li><strong>The technique is apparently accurate to within 100m</strong></li></ul><p>If, like me, you grew up watching corny FBI shows where computers could do the impossible through made-up technology with a single command of "enhance!", you're going to love the apparently impossible thing that YouTuber Colsto has just described in a new viral video.</p><p>Using a Doppler effect technique (more on that below), the location of a video or audio recording can be identified to within 100 meters through a combination of inaudible audio, flight data and math. This is no movie magic or scriptwriter invention: it's real and it's a little bit scary too.</p><p>I've embedded the video below and would really recommend watching it, because Colsto goes into great detail about how it's done, what it can't do and what precautions you might want to take if you don't want your background to betray you.</p><h2 id="how-your-video-background-can-betray-you">How your video background can betray you</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/UytYrhYLOKI" allowfullscreen=""></iframe></div></div><p>As Colsto explains, the key is the 'Doppler effect'. That's the way sounds appear to change based on the distance between a moving source and the listener. You hear it all the time: it's what makes fire engine and ambulance sirens, car stereos and airplane propellers seem to change pitch as they go past.</p><p>What's clever here is that Colsto has focused on the sounds made by aircraft in the backgrounds of videos. In many parts of the world the skies are very busy, and a faraway airplane that's inaudible to you or other listeners might still leave a sonic footprint on your video or audio that can be isolated and analyzed. That's definitely the case in the US data Colsto used. </p><p>Once you've got the audio, the aircraft sound can then be matched with publicly available flight data and Doppler curve measurements. By triangulating the sound from multiple aircraft, you can then identify where the audio was recorded. This is enormously clever.</p><p>Colsto explains the detail in the video — what aircraft data was used, how it was analyzed, how the Doppler measurements were filtered and what corrections were made — but isn't posting any software or other tools to actually do it for you. Instead, you'll get an assessment of preventive measurements including why normal signal processing such as high-pass filters or noise reduction can be ineffective.</p><h2 id="how-scary-is-this">How scary is 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PJP8k6XKvbHdMhrkTxtKQJ" name="Doppler2" alt="A laptop screen showing a Doppler curve" src="https://cdn.mos.cms.futurecdn.net/PJP8k6XKvbHdMhrkTxtKQJ-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="caption-text">A spectrogram showing a Doppler curve from an audio recording with harmonics above it </span><span class="credit" itemprop="copyrightHolder">(Image credit: Colsto)</span></figcaption></figure><p>Colsto was keen to point out that the video is designed to be educational about open-source intelligence (OSINT) techniques, rather than an attempt to fear-monger.</p><p>"The odds that someone can and does actually do this is pretty slim. In reality, there's probably a hundred easier ways to find you than this," he says. </p><p>However, these are some potential use cases. "The audio we used is just from some random security camera, but it could have just as well been footage from a investigation or a video online. Something with literally zero visual clues could be located using this," he added.</p><p>So despite the somewhat niche application, there's something deeply scary about this kind of thing, I think, and from similar revelations such as <a href="https://www.techradar.com/news/your-wi-fi-router-could-spot-exactly-where-you-are-in-a-room">Wi-Fi routers that can be used to locate you indoors</a> and <a href="https://www.techradar.com/computing/computing-security/this-technology-turns-every-router-into-a-potential-means-for-surveillance-researchers-warn-you-can-be-tracked-and-identified-from-wi-fi-signals">Wi-Fi signals that can help track your movements</a>, even if you're not carrying a phone that connects to them. </p><p>And I know that fear is probably a bit silly when everywhere I go I carry a phone, use a tablet or drive a car that's leaking identifiable information to God-knows-who. But I can't help asking the question: if the possibilities we know about are this scary, what on Earth is the tech we <em>don't</em> know about capable of?</p><h2 id="thinking-of-buying-a-new-tv">Thinking of buying a new TV?</h2><p><em>Try our TV size and model finder! You tell it how far you sit from your TV, we'll tell you what size to buy based on viewing angle advice from image quality experts, and we'll recommend our three top TVs at that size for different prices.</em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OKl0mX"></div>                            </div>                            <script src="https://kwizly.com/embed/OKl0mX.js" async=""></script> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/cyber-security/youtuber-discovers-aircraft-noise-trick-that-can-geolocate-your-videos-to-within-100m-doppler-effect-pinpoints-locations-from-just-60-seconds-of-audio</link>
                                                                            <description>
                            <![CDATA[ Take one video, listen to the background and match it with airplane flight data to reveal where it was filmed. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">5JueGkNeNqK96YYHybJL9H</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/v4B33mcbGoi3AzTquvMznP-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 16:56:32 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Nov 2026 20:25:18 +0000</updated>
                                                                                                                                            <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                                                                                    <dc:creator><![CDATA[ Carrie Marshall ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/xJGRRy6MkKwN3qJ5X6enZG-320-70.jpeg ]]></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/v4B33mcbGoi3AzTquvMznP-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / aviation-images.com / Colsto]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A laptop showing a spectogram next to a propellor plane in flight]]></media:description>                                                            <media:text><![CDATA[A laptop showing a spectogram next to a propellor plane in flight]]></media:text>
                                <media:title type="plain"><![CDATA[A laptop showing a spectogram next to a propellor plane in flight]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/v4B33mcbGoi3AzTquvMznP-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Security researcher combined audio analysis, flight data and a lot of number-crunching to identify audio locations</strong></li><li><strong>Aircraft that are inaudible on the soundtrack can still reveal the recorder's location</strong></li><li><strong>The technique is apparently accurate to within 100m</strong></li></ul><p>If, like me, you grew up watching corny FBI shows where computers could do the impossible through made-up technology with a single command of "enhance!", you're going to love the apparently impossible thing that YouTuber Colsto has just described in a new viral video.</p><p>Using a Doppler effect technique (more on that below), the location of a video or audio recording can be identified to within 100 meters through a combination of inaudible audio, flight data and math. This is no movie magic or scriptwriter invention: it's real and it's a little bit scary too.</p><p>I've embedded the video below and would really recommend watching it, because Colsto goes into great detail about how it's done, what it can't do and what precautions you might want to take if you don't want your background to betray you.</p><h2 id="how-your-video-background-can-betray-you">How your video background can betray you</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/UytYrhYLOKI" allowfullscreen=""></iframe></div></div><p>As Colsto explains, the key is the 'Doppler effect'. That's the way sounds appear to change based on the distance between a moving source and the listener. You hear it all the time: it's what makes fire engine and ambulance sirens, car stereos and airplane propellers seem to change pitch as they go past.</p><p>What's clever here is that Colsto has focused on the sounds made by aircraft in the backgrounds of videos. In many parts of the world the skies are very busy, and a faraway airplane that's inaudible to you or other listeners might still leave a sonic footprint on your video or audio that can be isolated and analyzed. That's definitely the case in the US data Colsto used. </p><p>Once you've got the audio, the aircraft sound can then be matched with publicly available flight data and Doppler curve measurements. By triangulating the sound from multiple aircraft, you can then identify where the audio was recorded. This is enormously clever.</p><p>Colsto explains the detail in the video — what aircraft data was used, how it was analyzed, how the Doppler measurements were filtered and what corrections were made — but isn't posting any software or other tools to actually do it for you. Instead, you'll get an assessment of preventive measurements including why normal signal processing such as high-pass filters or noise reduction can be ineffective.</p><h2 id="how-scary-is-this">How scary is 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:2000px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="PJP8k6XKvbHdMhrkTxtKQJ" name="Doppler2" alt="A laptop screen showing a Doppler curve" src="https://cdn.mos.cms.futurecdn.net/PJP8k6XKvbHdMhrkTxtKQJ-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="caption-text">A spectrogram showing a Doppler curve from an audio recording with harmonics above it </span><span class="credit" itemprop="copyrightHolder">(Image credit: Colsto)</span></figcaption></figure><p>Colsto was keen to point out that the video is designed to be educational about open-source intelligence (OSINT) techniques, rather than an attempt to fear-monger.</p><p>"The odds that someone can and does actually do this is pretty slim. In reality, there's probably a hundred easier ways to find you than this," he says. </p><p>However, these are some potential use cases. "The audio we used is just from some random security camera, but it could have just as well been footage from a investigation or a video online. Something with literally zero visual clues could be located using this," he added.</p><p>So despite the somewhat niche application, there's something deeply scary about this kind of thing, I think, and from similar revelations such as <a href="https://www.techradar.com/news/your-wi-fi-router-could-spot-exactly-where-you-are-in-a-room">Wi-Fi routers that can be used to locate you indoors</a> and <a href="https://www.techradar.com/computing/computing-security/this-technology-turns-every-router-into-a-potential-means-for-surveillance-researchers-warn-you-can-be-tracked-and-identified-from-wi-fi-signals">Wi-Fi signals that can help track your movements</a>, even if you're not carrying a phone that connects to them. </p><p>And I know that fear is probably a bit silly when everywhere I go I carry a phone, use a tablet or drive a car that's leaking identifiable information to God-knows-who. But I can't help asking the question: if the possibilities we know about are this scary, what on Earth is the tech we <em>don't</em> know about capable of?</p><h2 id="thinking-of-buying-a-new-tv">Thinking of buying a new TV?</h2><p><em>Try our TV size and model finder! You tell it how far you sit from your TV, we'll tell you what size to buy based on viewing angle advice from image quality experts, and we'll recommend our three top TVs at that size for different prices.</em></p><div style="min-height: 250px;">                                <div class="kwizly-quiz kwizly-OKl0mX"></div>                            </div>                            <script src="https://kwizly.com/embed/OKl0mX.js" async=""></script>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Hackers are using 'LLMjacking attacks' to hijack company AI usage and run up huge cloud bills ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Cybercriminals are stealing AI API keys and cloud credentials to hijack expensive LLM services and infrastructure</strong></li><li><strong>Stolen access is used to run AI workloads, create proxy services, and rack up massive bills for victims</strong></li><li><strong>Google warns “LLMjacking” is evolving into a specialized cybercrime ecosystem with dedicated monetization operators</strong></li></ul><p>Threat actors are using <a href="https://www.techradar.com/best/best-ai-tools" target="_blank">large language models</a> (LLM) to support almost every stage of a cyberattack, from researching potential victims to developing malware and automating various attacks. However, using AI is not cheap, and for those eager to use frontier models, costs can stack up relatively quickly.</p><p>But cybercriminals are used to stealing things, so why not steal someone else’s tokens, too? </p><p>A <a href="https://cloud.google.com/blog/topics/threat-intelligence/llmjacking-monetizing-compromised-cloud-models" target="_blank" rel="nofollow">new report</a> from Google’s Threat Intelligence Group (GTIG) says that different hacking groups are doing exactly that and that the practice - known as LLMjacking - has been steadily growing more popular over the last couple of years. </p><p>Most groups start by focusing either on publicly exposed LLM endpoints, or on obtaining valid LLM application programming interface (API) keys. In many cases, the crooks would use exposed or stolen cloud identity tokens (IAM credentials, Service Account keys, GitHub Personal Access Tokens, and active session tokens) to establish an initial foothold into the target organizations’ infrastructure. </p><p>From there, they would “systematically work” to escalate privileges, solidify their access, and identify targets for further compromise. </p><h2 id="llmjacking">LLMjacking </h2><p>The endgame is LLMjacking, which GTIG describes as “the monetization and resource-hijacking of foundation models, which actors achieve through token proxying, automated model streaming, and GPU hardware provisioning.” In other words, someone else is using your AI subscription while you get the bill. </p><p>The bills can cause quite the headache, too. With cryptojacking, for example, token mining is relatively slow and steady, and a certain amount of time needs to pass for the charges to really stack up. With LLMjacking, however, costs can go into six digits in six minutes. </p><p>“Upon acquiring LLM API access keys, UNC6993 attempted to generate additional API keys and enable associated services within victim cloud projects, quickly accumulating over $100,000 in billing charges,” Google says in the report.</p><p>“Another threat actor subscribed victim accounts to Pay-As-You-Go agreements, selecting premium foundation models and launching high-volume inference streams. To bypass rate limits, the threat actor deployed a "burn and rotate" strategy, continuously creating and deleting short-lived service accounts while auditing the cloud provider’s billing interface to monitor financial impact.”</p><p>In some cases, threat actors also used the acquired access to host their own proxy endpoints and agentic workloads. Google says that one threat actor enabled agents, deployed publicly accessible reverse proxies, and used custom Node.js proxy bundles to expose endpoints compatible with multiple frontier LLMs rebranded under a persona known as D1337-KAIROS. </p><p>This actor deployed a containerized backdoor which queried an upstream LLM to reason through instructions and execute commands locally.</p><h2 id="a-growing-ecosystem">A growing ecosystem</h2><p>The LLMjacking ecosystem is young, but growing fast and maturing even faster. Google says that there is already a division of labor between hacking groups that establish initial access to compromised environments, and operators who manage downstream monetization infrastructure. The latter are called “LLM Mixers” and they operate as a routing gateway that proxies, aggregates, and resells unauthorized LLM access to underground subscribers. </p><p>“In one investigation, GTIG observed two distinct operational clusters coordinating to compromise and monetize enterprise LLM infrastructure, demonstrating the sophisticated specialization emerging in this space,” Google said. </p><p>By using open source API gateways and custom relay infrastructure, the attackers were able to pool stolen credentials, meter usage, and hide where the requests really originated from. </p><p>Google is now sounding the alarm, saying it expects threat actors to “increasingly prioritize” LLMjacking at the expense of other resource theft practices. It urges organizations to increase their visibility of LLM platforms, prioritize detection of modifications to LLM accounts and services, and treat any unauthorized enablement as a critical security event. It also advised organizations to enforce the principle of least privilege and make sure accounts and users only have permissions they absolutely need to get the job done.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/hackers-are-using-llmjacking-attacks-to-hijack-company-ai-usage-and-run-up-huge-cloud-bills</link>
                                                                            <description>
                            <![CDATA[ Businesses can run up $100,000 bills in minutes when hackers gain access to their API keys. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">GTGEqbGt3gXnYzdFANzjxM</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/4d3FzfBhbeGTkD9mnMpEdM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 15:25:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/4d3FzfBhbeGTkD9mnMpEdM-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A close up of a person&#039;s eyes and face. They are wearing glasses and in one eye there&#039;s. a reflection of a digital brain]]></media:description>                                                            <media:text><![CDATA[A close up of a person&#039;s eyes and face. They are wearing glasses and in one eye there&#039;s. a reflection of a digital brain]]></media:text>
                                <media:title type="plain"><![CDATA[A close up of a person&#039;s eyes and face. They are wearing glasses and in one eye there&#039;s. a reflection of a digital brain]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/4d3FzfBhbeGTkD9mnMpEdM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Cybercriminals are stealing AI API keys and cloud credentials to hijack expensive LLM services and infrastructure</strong></li><li><strong>Stolen access is used to run AI workloads, create proxy services, and rack up massive bills for victims</strong></li><li><strong>Google warns “LLMjacking” is evolving into a specialized cybercrime ecosystem with dedicated monetization operators</strong></li></ul><p>Threat actors are using <a href="https://www.techradar.com/best/best-ai-tools" target="_blank">large language models</a> (LLM) to support almost every stage of a cyberattack, from researching potential victims to developing malware and automating various attacks. However, using AI is not cheap, and for those eager to use frontier models, costs can stack up relatively quickly.</p><p>But cybercriminals are used to stealing things, so why not steal someone else’s tokens, too? </p><p>A <a href="https://cloud.google.com/blog/topics/threat-intelligence/llmjacking-monetizing-compromised-cloud-models" target="_blank" rel="nofollow">new report</a> from Google’s Threat Intelligence Group (GTIG) says that different hacking groups are doing exactly that and that the practice - known as LLMjacking - has been steadily growing more popular over the last couple of years. </p><p>Most groups start by focusing either on publicly exposed LLM endpoints, or on obtaining valid LLM application programming interface (API) keys. In many cases, the crooks would use exposed or stolen cloud identity tokens (IAM credentials, Service Account keys, GitHub Personal Access Tokens, and active session tokens) to establish an initial foothold into the target organizations’ infrastructure. </p><p>From there, they would “systematically work” to escalate privileges, solidify their access, and identify targets for further compromise. </p><h2 id="llmjacking">LLMjacking </h2><p>The endgame is LLMjacking, which GTIG describes as “the monetization and resource-hijacking of foundation models, which actors achieve through token proxying, automated model streaming, and GPU hardware provisioning.” In other words, someone else is using your AI subscription while you get the bill. </p><p>The bills can cause quite the headache, too. With cryptojacking, for example, token mining is relatively slow and steady, and a certain amount of time needs to pass for the charges to really stack up. With LLMjacking, however, costs can go into six digits in six minutes. </p><p>“Upon acquiring LLM API access keys, UNC6993 attempted to generate additional API keys and enable associated services within victim cloud projects, quickly accumulating over $100,000 in billing charges,” Google says in the report.</p><p>“Another threat actor subscribed victim accounts to Pay-As-You-Go agreements, selecting premium foundation models and launching high-volume inference streams. To bypass rate limits, the threat actor deployed a "burn and rotate" strategy, continuously creating and deleting short-lived service accounts while auditing the cloud provider’s billing interface to monitor financial impact.”</p><p>In some cases, threat actors also used the acquired access to host their own proxy endpoints and agentic workloads. Google says that one threat actor enabled agents, deployed publicly accessible reverse proxies, and used custom Node.js proxy bundles to expose endpoints compatible with multiple frontier LLMs rebranded under a persona known as D1337-KAIROS. </p><p>This actor deployed a containerized backdoor which queried an upstream LLM to reason through instructions and execute commands locally.</p><h2 id="a-growing-ecosystem">A growing ecosystem</h2><p>The LLMjacking ecosystem is young, but growing fast and maturing even faster. Google says that there is already a division of labor between hacking groups that establish initial access to compromised environments, and operators who manage downstream monetization infrastructure. The latter are called “LLM Mixers” and they operate as a routing gateway that proxies, aggregates, and resells unauthorized LLM access to underground subscribers. </p><p>“In one investigation, GTIG observed two distinct operational clusters coordinating to compromise and monetize enterprise LLM infrastructure, demonstrating the sophisticated specialization emerging in this space,” Google said. </p><p>By using open source API gateways and custom relay infrastructure, the attackers were able to pool stolen credentials, meter usage, and hide where the requests really originated from. </p><p>Google is now sounding the alarm, saying it expects threat actors to “increasingly prioritize” LLMjacking at the expense of other resource theft practices. It urges organizations to increase their visibility of LLM platforms, prioritize detection of modifications to LLM accounts and services, and treat any unauthorized enablement as a critical security event. It also advised organizations to enforce the principle of least privilege and make sure accounts and users only have permissions they absolutely need to get the job done.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Apple's CEO John Ternus warns RAM cost increases are now 'unprecedented' ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>John Ternus has warned that: "What we're seeing with memory pricing right now is unprecedented."</strong></li><li><strong>The Apple CEO cautioned that RAM costs are going to climb higher in this final quarter of 2026</strong></li><li><strong>It sounds even bleaker than Apple's previous statements on the RAM crisis, and follows many other warnings that 2027 is set to be a miserable year price-wise</strong></li></ul><p>Apple is warning of an 'unprecedented' rise in the cost of RAM, adding to the cacophony of alarm bells that have been ringing about the price of memory chips (<a href="https://www.techradar.com/computing/memory/this-is-no-longer-just-about-ram-and-ssds-xmg-highlights-component-cost-rises-across-the-board-as-it-hikes-laptop-prices-and-nvidia-gpus-could-suffer-too">and other PC components besides</a>) recently.</p><p><a href="https://www.theguardian.com/technology/2026/nov/02/apple-third-quarter-revenue-earnings" target="_blank">The Guardian reports</a> that in a conference call following Apple's fiscal Q3 results — which were better than analysts expected, driven by the iPhone, Mac mini and sales in China — Apple's new CEO John Ternus touched on the subject of the RAM crisis.</p><p>Ternus, who <a href="https://www.techradar.com/phones/iphone/iphone-ultra-will-be-the-star-of-apples-surprise-and-shine-event-but-all-eyes-will-be-on-john-ternus">recently took the reins from Tim Cook</a>, cautioned bleakly that: "What we're seeing with memory pricing right now is unprecedented."</p><p>He then observed that memory costs would climb even higher in the final quarter of 2026 compared to the rest of the year, during which, as you've doubtless seen, we've <a href="https://www.techradar.com/computing/memory/ddr5-ram-pricing-appears-to-be-spiralling-out-of-control-even-more-its-5-5x-pricier-than-before-the-memory-crisis-and-2027-could-get-worse">already witnessed a steep climb in pricing</a>.</p><p>Despite its financial results outperforming analyst forecasts, Apple informed investors that these higher memory costs are going to erode some of its profit margins, which meant the company's stock dropped.</p><p><a href="https://www.techradar.com/computing/macbooks/apple-just-delivered-the-worst-kind-of-news-price-hikes-across-many-of-its-major-products-even-the-neo-and-yes-ram-prices-are-to-blame">Apple raised the prices of Macs</a> earlier this year, as well as iPads and more recently iPhones, and Ternus acknowledged that this had "provided some offset" for Apple in terms of the ongoing cost crisis around components.</p><h2 id="analysis-ternus-takes-a-turn-for-the-sterner">Analysis: Ternus takes a turn for the sterner</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SguQFPNSs48FRUH44jLxog" name="mac-studio-apple.jpg" alt="Person using a Mac Studio" src="https://cdn.mos.cms.futurecdn.net/SguQFPNSs48FRUH44jLxog-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>It's an ominous utterance from Ternus, and sounds more severe than the warning Apple issued back before the Mac (and other) price hikes happened in June 2026. Back then, when Cook was still chief executive, <a href="https://www.techradar.com/computing/computing-components/apple-ceo-warns-about-significantly-higher-memory-costs-from-june-so-mac-fans-are-worried-about-price-hikes">he warned about "significantly higher memory costs"</a> that would "drive an increasing impact" on Apple's products, which, as noted, came to pass.</p><p>Now we're hearing the word "unprecedented", which sounds a lot more concerning than "significant"; although in fairness, this is referencing what's already happened this year as much as what's to come. But we're clearly being primed for more price-hike misery by Ternus here, and it's difficult to see how this won't have a further impact on Macs, iPhones and iPads, if not in this quarter, then in 2027.</p><p>We don't, of course, know to what extent profits might be eroded by more expensive memory chips, or how this might be balanced by consumers having to foot that bill. Only time will tell on that score.</p><p>Mac mini sales were mentioned in the report — which quoted Ben Barringer, the head of technology research at investment management firm Quilter Cheviot — as being responsible for part of Apple's boosted earnings for the most recent quarter, and that's down to the increasing demand for local AI.</p><p>The Mac Studio is major part of that picture, too, and this particular PC just popped up as an example of <a href="https://www.techradar.com/pro/apple-charges-over-100-more-to-double-mac-studio-m5-ultra-memory-making-two-256gb-units-cheaper-than-one-512gb">how ridiculous RAM pricing has just become</a> at the very top end of the Apple product tree. If you want a Mac Studio with 512GB of RAM, you'll now pay more than double the cost of a Mac Studio that has 256GB of memory, meaning that it's cheaper to buy two of the latter computers (while getting two CPUs/GPUs in the process).</p><p>It's a bizarre situation, but this is what we've arrived at with memory upgrades, which were always seriously pricey with Apple, even before the RAM crisis kicked off (that goes for storage, too).</p><p>And this situation is only going to get worse, seemingly, according to Ternus, which is also, of course, the view of the wider industry and various analysts. I can't begin to count the <a href="https://www.techradar.com/computing/memory/ram-to-see-meaningful-price-increases-before-2026-is-out-as-the-memory-crisis-is-predicted-to-last-at-least-another-3-years">warnings we've had</a> in the <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">past couple of months</a> about the <a href="https://www.techradar.com/computing/memory/fed-up-of-ai-eating-all-the-ram-micron-warns-that-crisis-will-get-worse-in-2027-and-2028-and-says-robots-could-gobble-up-200gb-of-memory-per-unit-come-2030">RAM crisis becoming even more dire</a>, so at this point it's just a question of how much worse things might get.</p><p>I fear that some categories of tech and PC components are going to become increasingly unaffordable next year, and I recently wrote about why <a href="https://www.techradar.com/computing/memory/the-ram-crisis-has-become-a-monster-heres-why-black-friday-is-your-best-chance-of-slaying-the-beast-and-what-pc-bargains-you-should-look-for">Black Friday could be a good time to move on certain purchases</a>.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/memory/apples-ceo-john-ternus-warns-ram-cost-increases-are-now-unprecedented-and-it-makes-me-fear-the-worst-for-further-mac-price-hikes</link>
                                                                            <description>
                            <![CDATA[ Ternus has added to the chorus of warnings on the RAM crisis, cautioning that 'memory pricing right now is unprecedented' — and I fear the worst for 2027. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">6B2QEQx3auRQkuGnrSqd6</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/grYcokVGvBSUaZbYhFeDhX-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 13:04:36 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Memory]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                    <category><![CDATA[Macs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Desktop PCs]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/grYcokVGvBSUaZbYhFeDhX-1920-80.jpg">
                                                            <media:credit><![CDATA[Lance Ulanoff / Future]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Apple Touchscreen MacBook Pro HANDS ON ]]></media:description>                                                            <media:text><![CDATA[Apple Touchscreen MacBook Pro HANDS ON ]]></media:text>
                                <media:title type="plain"><![CDATA[Apple Touchscreen MacBook Pro HANDS ON ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/grYcokVGvBSUaZbYhFeDhX-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>John Ternus has warned that: "What we're seeing with memory pricing right now is unprecedented."</strong></li><li><strong>The Apple CEO cautioned that RAM costs are going to climb higher in this final quarter of 2026</strong></li><li><strong>It sounds even bleaker than Apple's previous statements on the RAM crisis, and follows many other warnings that 2027 is set to be a miserable year price-wise</strong></li></ul><p>Apple is warning of an 'unprecedented' rise in the cost of RAM, adding to the cacophony of alarm bells that have been ringing about the price of memory chips (<a href="https://www.techradar.com/computing/memory/this-is-no-longer-just-about-ram-and-ssds-xmg-highlights-component-cost-rises-across-the-board-as-it-hikes-laptop-prices-and-nvidia-gpus-could-suffer-too">and other PC components besides</a>) recently.</p><p><a href="https://www.theguardian.com/technology/2026/nov/02/apple-third-quarter-revenue-earnings" target="_blank">The Guardian reports</a> that in a conference call following Apple's fiscal Q3 results — which were better than analysts expected, driven by the iPhone, Mac mini and sales in China — Apple's new CEO John Ternus touched on the subject of the RAM crisis.</p><p>Ternus, who <a href="https://www.techradar.com/phones/iphone/iphone-ultra-will-be-the-star-of-apples-surprise-and-shine-event-but-all-eyes-will-be-on-john-ternus">recently took the reins from Tim Cook</a>, cautioned bleakly that: "What we're seeing with memory pricing right now is unprecedented."</p><p>He then observed that memory costs would climb even higher in the final quarter of 2026 compared to the rest of the year, during which, as you've doubtless seen, we've <a href="https://www.techradar.com/computing/memory/ddr5-ram-pricing-appears-to-be-spiralling-out-of-control-even-more-its-5-5x-pricier-than-before-the-memory-crisis-and-2027-could-get-worse">already witnessed a steep climb in pricing</a>.</p><p>Despite its financial results outperforming analyst forecasts, Apple informed investors that these higher memory costs are going to erode some of its profit margins, which meant the company's stock dropped.</p><p><a href="https://www.techradar.com/computing/macbooks/apple-just-delivered-the-worst-kind-of-news-price-hikes-across-many-of-its-major-products-even-the-neo-and-yes-ram-prices-are-to-blame">Apple raised the prices of Macs</a> earlier this year, as well as iPads and more recently iPhones, and Ternus acknowledged that this had "provided some offset" for Apple in terms of the ongoing cost crisis around components.</p><h2 id="analysis-ternus-takes-a-turn-for-the-sterner">Analysis: Ternus takes a turn for the sterner</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1200px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="SguQFPNSs48FRUH44jLxog" name="mac-studio-apple.jpg" alt="Person using a Mac Studio" src="https://cdn.mos.cms.futurecdn.net/SguQFPNSs48FRUH44jLxog-1920-80.jpg" mos="" align="middle" fullscreen="" width="1200" height="675" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Apple)</span></figcaption></figure><p>It's an ominous utterance from Ternus, and sounds more severe than the warning Apple issued back before the Mac (and other) price hikes happened in June 2026. Back then, when Cook was still chief executive, <a href="https://www.techradar.com/computing/computing-components/apple-ceo-warns-about-significantly-higher-memory-costs-from-june-so-mac-fans-are-worried-about-price-hikes">he warned about "significantly higher memory costs"</a> that would "drive an increasing impact" on Apple's products, which, as noted, came to pass.</p><p>Now we're hearing the word "unprecedented", which sounds a lot more concerning than "significant"; although in fairness, this is referencing what's already happened this year as much as what's to come. But we're clearly being primed for more price-hike misery by Ternus here, and it's difficult to see how this won't have a further impact on Macs, iPhones and iPads, if not in this quarter, then in 2027.</p><p>We don't, of course, know to what extent profits might be eroded by more expensive memory chips, or how this might be balanced by consumers having to foot that bill. Only time will tell on that score.</p><p>Mac mini sales were mentioned in the report — which quoted Ben Barringer, the head of technology research at investment management firm Quilter Cheviot — as being responsible for part of Apple's boosted earnings for the most recent quarter, and that's down to the increasing demand for local AI.</p><p>The Mac Studio is major part of that picture, too, and this particular PC just popped up as an example of <a href="https://www.techradar.com/pro/apple-charges-over-100-more-to-double-mac-studio-m5-ultra-memory-making-two-256gb-units-cheaper-than-one-512gb">how ridiculous RAM pricing has just become</a> at the very top end of the Apple product tree. If you want a Mac Studio with 512GB of RAM, you'll now pay more than double the cost of a Mac Studio that has 256GB of memory, meaning that it's cheaper to buy two of the latter computers (while getting two CPUs/GPUs in the process).</p><p>It's a bizarre situation, but this is what we've arrived at with memory upgrades, which were always seriously pricey with Apple, even before the RAM crisis kicked off (that goes for storage, too).</p><p>And this situation is only going to get worse, seemingly, according to Ternus, which is also, of course, the view of the wider industry and various analysts. I can't begin to count the <a href="https://www.techradar.com/computing/memory/ram-to-see-meaningful-price-increases-before-2026-is-out-as-the-memory-crisis-is-predicted-to-last-at-least-another-3-years">warnings we've had</a> in the <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">past couple of months</a> about the <a href="https://www.techradar.com/computing/memory/fed-up-of-ai-eating-all-the-ram-micron-warns-that-crisis-will-get-worse-in-2027-and-2028-and-says-robots-could-gobble-up-200gb-of-memory-per-unit-come-2030">RAM crisis becoming even more dire</a>, so at this point it's just a question of how much worse things might get.</p><p>I fear that some categories of tech and PC components are going to become increasingly unaffordable next year, and I recently wrote about why <a href="https://www.techradar.com/computing/memory/the-ram-crisis-has-become-a-monster-heres-why-black-friday-is-your-best-chance-of-slaying-the-beast-and-what-pc-bargains-you-should-look-for">Black Friday could be a good time to move on certain purchases</a>.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Reddit is challenging Australia’s ‘inept’ social media ban for under-16s ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Reddit wants to overturn Australia’s social media ban for under-16s</strong></li><li><strong>It is challenging the law in the Australian High Court</strong></li><li><strong>Government says it’s defending the law from "sustained ideological attack"</strong></li></ul><p>In late 2025, Australia became the first nation in the world to <a href="https://www.techradar.com/vpn/vpn-privacy-security/under-16s-social-media-ban-lands-in-australia">ban social media for under-16s</a> — and as you would expect, that hasn’t gone down particularly well with the app makers affected. Reddit, for example, has issued a stinging rebuke to the Australian government and is in the process of challenging the ban in court. </p><p>A lawyer representing Reddit called the ban “ill thought out” (via <a href="https://www.reuters.com/legal/litigation/reddit-blasts-australias-inept-social-media-ban-court-challenge-begins-2026-11-03/" target="_blank">Reuters</a>) and said it was a “profound ‌restriction on political debate.” The attorney was speaking at the Australian High Court, where Reddit is seeking to contest the country’s new law.</p><p>Together with a libertarian advocacy group, Reddit claimed in court that the <a href="https://www.techradar.com/vpn/vpn-services/social-media-how-to-maximize-your-privacy-and-the-top-settings-to-change-right-now">social media</a> ban was “a very substantial restriction on what young people can now do” and that it could stifle political debate. It added that the restrictions may stop users creating content and responding to posts. </p><p>Although Reddit said it supported the aims of the law, it branded the legislation “inept,” saying that it did not have any specific means to keep minors off social media and failed to regulate other platforms where cyberbullying might take place, such as on gaming websites. And the fact that users who were not logged in could still view huge amounts of material undermined the law, Reddit argued.</p><h2 id="could-reddit-overturn-the-ban">Could Reddit overturn the ban?</h2><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="AWJ5rN9uWBEfKVMJuwq6SD" name="GettyImages-2289305758" alt="A child holding an iPhone in their hands" src="https://cdn.mos.cms.futurecdn.net/AWJ5rN9uWBEfKVMJuwq6SD-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: Getty Images / Anna Barclay)</span></figcaption></figure><p>Since the Australian law came into effect, several studies have shown that large numbers of teenage users targeted by it are <a href="https://www.techradar.com/vpn/vpn-privacy-security/australias-social-media-ban-shows-uk-child-safety-measures-are-bound-to-fail-and-its-not-because-of-vpns">still able to access restricted material</a>. Sometimes, that might be as simple as using a <a href="https://www.techradar.com/vpn/best-vpn">VPN service</a> to disguise your location, while at other times, social media firms are simply not taking action to restrict usage by under-16s. </p><p>Despite Reddit’s criticism, the Australian government has said it will defend its legislation. In court, the state’s lawyer, Joanna Davidson, said that children were more vulnerable to harmful online content because their brains were not fully developed compared to those of adults. </p><p>And speaking outside the High Court, communications ⁠minister Anika Wells ​said: “We ​are here to defend a fundamental tenet of Australian democracy, which is an Australian’s right, and particularly an Australian child’s right, to be free from harm. We seek ​to defend that from sustained ideological attack.” </p><p>The government has doubled the maximum fine for non-compliance with the law to AU$99 million (about $69.5 million / £51.5 million), increased the discovery powers of the eSafety Commissioner, and said it is preparing enforcement action against some of the largest social media platforms operating in Australia.</p><p>Whatever side you take on this matter, it’s clear that neither the Australian government nor Reddit are preparing to back down anytime soon. And with other nations <a href="https://www.techradar.com/computing/social-media/the-risks-arent-hypothetical-ofcom-reveals-age-check-plans-for-uk-social-media-ban-but-privacy-experts-arent-convinced">considering similar laws</a>, many people around the world will be watching closely.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/social-media/reddit-attacks-australias-inept-social-media-ban-as-the-government-says-its-pushing-back-against-sustained-ideological-attack</link>
                                                                            <description>
                            <![CDATA[ Reddit is challenging Australia’s social media ban and trying to overturn it in court. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LGxDHfwkJk75mXATTD4B4k</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/Jw45Qw73bBaN6b2qsAaAEB-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 12:53:47 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Nov 2026 13:14:04 +0000</updated>
                                                                                                                                            <category><![CDATA[Social Media]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Internet]]></category>
                                                                                                <author><![CDATA[ alexblake.techradar@gmail.com (Alex Blake) ]]></author>                    <dc:creator><![CDATA[ Alex Blake ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwmVRU4zMGnDYsGVAFvRmL-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alex Blake has been fooling around with computers since the early 1990s, and since that time he&#039;s learned a thing or two about tech. No more than two things, though. That&#039;s all his brain can hold. As well as TechRadar, Alex writes for iMore, Digital Trends and Creative Bloq, among others. He was previously commissioning editor at MacFormat magazine. That means he mostly covers the world of Apple and its latest products, but also Windows, computer peripherals, mobile apps, and much more beyond. When not writing, you can find him hiking the English countryside and gaming on his PC.&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/Jw45Qw73bBaN6b2qsAaAEB-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty / NurPhoto]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Reddit logo is being displayed on a smartphone with the Reddit logo also visible in the background ]]></media:description>                                                            <media:text><![CDATA[The Reddit logo is being displayed on a smartphone with the Reddit logo also visible in the background ]]></media:text>
                                <media:title type="plain"><![CDATA[The Reddit logo is being displayed on a smartphone with the Reddit logo also visible in the background ]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/Jw45Qw73bBaN6b2qsAaAEB-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Reddit wants to overturn Australia’s social media ban for under-16s</strong></li><li><strong>It is challenging the law in the Australian High Court</strong></li><li><strong>Government says it’s defending the law from "sustained ideological attack"</strong></li></ul><p>In late 2025, Australia became the first nation in the world to <a href="https://www.techradar.com/vpn/vpn-privacy-security/under-16s-social-media-ban-lands-in-australia">ban social media for under-16s</a> — and as you would expect, that hasn’t gone down particularly well with the app makers affected. Reddit, for example, has issued a stinging rebuke to the Australian government and is in the process of challenging the ban in court. </p><p>A lawyer representing Reddit called the ban “ill thought out” (via <a href="https://www.reuters.com/legal/litigation/reddit-blasts-australias-inept-social-media-ban-court-challenge-begins-2026-11-03/" target="_blank">Reuters</a>) and said it was a “profound ‌restriction on political debate.” The attorney was speaking at the Australian High Court, where Reddit is seeking to contest the country’s new law.</p><p>Together with a libertarian advocacy group, Reddit claimed in court that the <a href="https://www.techradar.com/vpn/vpn-services/social-media-how-to-maximize-your-privacy-and-the-top-settings-to-change-right-now">social media</a> ban was “a very substantial restriction on what young people can now do” and that it could stifle political debate. It added that the restrictions may stop users creating content and responding to posts. </p><p>Although Reddit said it supported the aims of the law, it branded the legislation “inept,” saying that it did not have any specific means to keep minors off social media and failed to regulate other platforms where cyberbullying might take place, such as on gaming websites. And the fact that users who were not logged in could still view huge amounts of material undermined the law, Reddit argued.</p><h2 id="could-reddit-overturn-the-ban">Could Reddit overturn the ban?</h2><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="AWJ5rN9uWBEfKVMJuwq6SD" name="GettyImages-2289305758" alt="A child holding an iPhone in their hands" src="https://cdn.mos.cms.futurecdn.net/AWJ5rN9uWBEfKVMJuwq6SD-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: Getty Images / Anna Barclay)</span></figcaption></figure><p>Since the Australian law came into effect, several studies have shown that large numbers of teenage users targeted by it are <a href="https://www.techradar.com/vpn/vpn-privacy-security/australias-social-media-ban-shows-uk-child-safety-measures-are-bound-to-fail-and-its-not-because-of-vpns">still able to access restricted material</a>. Sometimes, that might be as simple as using a <a href="https://www.techradar.com/vpn/best-vpn">VPN service</a> to disguise your location, while at other times, social media firms are simply not taking action to restrict usage by under-16s. </p><p>Despite Reddit’s criticism, the Australian government has said it will defend its legislation. In court, the state’s lawyer, Joanna Davidson, said that children were more vulnerable to harmful online content because their brains were not fully developed compared to those of adults. </p><p>And speaking outside the High Court, communications ⁠minister Anika Wells ​said: “We ​are here to defend a fundamental tenet of Australian democracy, which is an Australian’s right, and particularly an Australian child’s right, to be free from harm. We seek ​to defend that from sustained ideological attack.” </p><p>The government has doubled the maximum fine for non-compliance with the law to AU$99 million (about $69.5 million / £51.5 million), increased the discovery powers of the eSafety Commissioner, and said it is preparing enforcement action against some of the largest social media platforms operating in Australia.</p><p>Whatever side you take on this matter, it’s clear that neither the Australian government nor Reddit are preparing to back down anytime soon. And with other nations <a href="https://www.techradar.com/computing/social-media/the-risks-arent-hypothetical-ofcom-reveals-age-check-plans-for-uk-social-media-ban-but-privacy-experts-arent-convinced">considering similar laws</a>, many people around the world will be watching closely.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Google leads takedown of massive XCPE malware botnet made of more than 1.3 million Android TV streaming boxes — and claims the items were intentionally set up for criminal access ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Google leads efforts to dismantle 1.3 million device residential proxy botnet built through malware preinstalled on Android hardware</strong></li><li><strong>Researchers say manufacturer Videostrong intentionally shipped malware and sold botnet access to cybercriminals</strong></li><li><strong>Google seized infrastructure, blocked the company from Android certification, and strengthened device security checks</strong></li></ul><p>Google has revealed its role in taking down a massive residential proxy network and the <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a> that built it - with the unusual twist that the developer was a seemingly legitimate business with multiple products and countless trusting customers.</p><p>In a <a href="https://cloud.google.com/blog/topics/threat-intelligence/shutting-the-door-on-the-xcpe-botnet" target="_blank" rel="nofollow">blog post</a>, the company said that together with its partners, it dismantled a backdoor called XCPE. This malware was apparently used for ad fraud, served as a dropper for additional malware, and used for assimilating devices into an illegal residential proxy network. </p><p>In total, more than 1.3 million set-top boxes alone were part of the network, the company said.</p><h2 id="no-supply-chain-attack">No supply chain attack</h2><p>Malicious residential proxy networks are nothing new - they emerge and get dismantled on a regular basis. But this one was unique, as it came preloaded on Android devices built and sold by a certified Android Original Equipment Manufacturer (OEM) and Original Design Manufacturer (ODM). In other words, people were thinking they were buying a legitimate product from a legitimate, Google-vetted company, but were instead getting malware-laden hardware that abused their trust and sold their bandwidth to cybercriminals.</p><p>In this case, not only did the company know what it was doing, but it was actively developing the malware and even worked on hiding it from Google and everyone else. </p><p>“A device manufacturer intentionally infecting their users with malware is an unacceptable breach of trust, and represents a serious risk to those users,” Google said, not hiding its disappointment with the manufacturer.</p><p>Videostrong ended up selling two things: On the surface, it was selling Android-powered smartphones and similar devices that contained malware that built a botnet. Under the table, it was selling access to that botnet to cybercriminals. </p><p>Google was joined by a number of other companies and agencies in this operation, including Japan’s National Police Agency, Lumen, HUMAN Security, Plume, Synthient, and TrendAI.</p><p>Threat actors are always in need of residential proxy botnets. They can use them to launch powerful Distributed Denial of Service (DDoS) attacks, hide their addresses as they operate, conduct large-scale credential stuffing campaigns, bypass geographical restrictions, scrape websites at scale, and more. We don’t know how much Videostrong made from selling access to the botnet, or who used it. </p><h2 id="taking-down-the-c2-domains">Taking down the C2 domains</h2><p>To disrupt both the malware and the network, Google took down the domains and servers the company used to control the botnet and install malware modules, took down C2 domains that were used by over a dozen malware families loaded as modules via the XCPE backdoor, and banned Videostrong and all future subsidiaries and affiliates from building and selling Android devices in the future, or supplying software to other certified vendors.</p><p>Google also said it had improved its firmware integrity checks for certified Android TV devices to prevent similar incidents involving other manufacturers.</p><p>“Google requires OEMs go through a comprehensive suite of compatibility and security tests to ensure a consistent and safe user experience across the Android ecosystem,” it stressed. “However, Videostrong employed obfuscation techniques to exploit a gap in our tests and load malicious code after the device's first boot. As a result, Google has implemented changes to its existing review process to better safeguard against similar activity in the future.” </p><p>This is not the first time an electronic device came with malware off the shelf. Last month, security researchers Bitdefender found <a href="https://www.techradar.com/pro/security/experts-warn-cheap-android-phones-are-being-shipped-with-malware-built-in-so-be-on-your-guard" target="_blank">Android phones from multiple manufacturers</a>, including Doogee and Cubot (both Chinese firms) being sold with preloaded malware. However, in those cases, the supply chain was compromised and the malware was included without the OEM’s knowledge, or consent.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/google-leads-takedown-of-massive-xcpe-malware-botnet-made-of-more-than-1-3-million-android-tv-streaming-boxes-and-claims-the-items-were-intentionally-set-up-for-criminal-access</link>
                                                                            <description>
                            <![CDATA[ A Chinese company allegedly intentionally infected its devices with malware and later sold access to a botnet to criminals. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Ms6btcdZNQf6da8qzdf8wd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/2FFajuvJVK8i7Her8gD4aD-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Tue, 03 Nov 2026 10:47:02 +0000</pubDate>                                                                                                                                <updated>Tue, 03 Nov 2026 10:47:09 +0000</updated>
                                                                                                                                            <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/2FFajuvJVK8i7Her8gD4aD-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Abstract image of robots working in an office environment including creating blueprint of robot arm, making a phone call, and typing on a keyboard]]></media:description>                                                            <media:text><![CDATA[Abstract image of robots working in an office environment including creating blueprint of robot arm, making a phone call, and typing on a keyboard]]></media:text>
                                <media:title type="plain"><![CDATA[Abstract image of robots working in an office environment including creating blueprint of robot arm, making a phone call, and typing on a keyboard]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/2FFajuvJVK8i7Her8gD4aD-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Google leads efforts to dismantle 1.3 million device residential proxy botnet built through malware preinstalled on Android hardware</strong></li><li><strong>Researchers say manufacturer Videostrong intentionally shipped malware and sold botnet access to cybercriminals</strong></li><li><strong>Google seized infrastructure, blocked the company from Android certification, and strengthened device security checks</strong></li></ul><p>Google has revealed its role in taking down a massive residential proxy network and the <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a> that built it - with the unusual twist that the developer was a seemingly legitimate business with multiple products and countless trusting customers.</p><p>In a <a href="https://cloud.google.com/blog/topics/threat-intelligence/shutting-the-door-on-the-xcpe-botnet" target="_blank" rel="nofollow">blog post</a>, the company said that together with its partners, it dismantled a backdoor called XCPE. This malware was apparently used for ad fraud, served as a dropper for additional malware, and used for assimilating devices into an illegal residential proxy network. </p><p>In total, more than 1.3 million set-top boxes alone were part of the network, the company said.</p><h2 id="no-supply-chain-attack">No supply chain attack</h2><p>Malicious residential proxy networks are nothing new - they emerge and get dismantled on a regular basis. But this one was unique, as it came preloaded on Android devices built and sold by a certified Android Original Equipment Manufacturer (OEM) and Original Design Manufacturer (ODM). In other words, people were thinking they were buying a legitimate product from a legitimate, Google-vetted company, but were instead getting malware-laden hardware that abused their trust and sold their bandwidth to cybercriminals.</p><p>In this case, not only did the company know what it was doing, but it was actively developing the malware and even worked on hiding it from Google and everyone else. </p><p>“A device manufacturer intentionally infecting their users with malware is an unacceptable breach of trust, and represents a serious risk to those users,” Google said, not hiding its disappointment with the manufacturer.</p><p>Videostrong ended up selling two things: On the surface, it was selling Android-powered smartphones and similar devices that contained malware that built a botnet. Under the table, it was selling access to that botnet to cybercriminals. </p><p>Google was joined by a number of other companies and agencies in this operation, including Japan’s National Police Agency, Lumen, HUMAN Security, Plume, Synthient, and TrendAI.</p><p>Threat actors are always in need of residential proxy botnets. They can use them to launch powerful Distributed Denial of Service (DDoS) attacks, hide their addresses as they operate, conduct large-scale credential stuffing campaigns, bypass geographical restrictions, scrape websites at scale, and more. We don’t know how much Videostrong made from selling access to the botnet, or who used it. </p><h2 id="taking-down-the-c2-domains">Taking down the C2 domains</h2><p>To disrupt both the malware and the network, Google took down the domains and servers the company used to control the botnet and install malware modules, took down C2 domains that were used by over a dozen malware families loaded as modules via the XCPE backdoor, and banned Videostrong and all future subsidiaries and affiliates from building and selling Android devices in the future, or supplying software to other certified vendors.</p><p>Google also said it had improved its firmware integrity checks for certified Android TV devices to prevent similar incidents involving other manufacturers.</p><p>“Google requires OEMs go through a comprehensive suite of compatibility and security tests to ensure a consistent and safe user experience across the Android ecosystem,” it stressed. “However, Videostrong employed obfuscation techniques to exploit a gap in our tests and load malicious code after the device's first boot. As a result, Google has implemented changes to its existing review process to better safeguard against similar activity in the future.” </p><p>This is not the first time an electronic device came with malware off the shelf. Last month, security researchers Bitdefender found <a href="https://www.techradar.com/pro/security/experts-warn-cheap-android-phones-are-being-shipped-with-malware-built-in-so-be-on-your-guard" target="_blank">Android phones from multiple manufacturers</a>, including Doogee and Cubot (both Chinese firms) being sold with preloaded malware. However, in those cases, the supply chain was compromised and the malware was included without the OEM’s knowledge, or consent.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This 'SMS of Death' exploit can remotely crash unpatched Android phones — without the user interacting with it in any way ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>A zero-click Android flaw let attackers crash phones with a specially crafted SMS message</strong></li><li><strong>Repeated messages could trigger reboot loops, disrupt calls, and even affect emergency connectivity</strong></li><li><strong>Google patched supported Android versions, but many end-of-life devices remain permanently vulnerable</strong></li></ul><p>Picture this: You’re talking on your Android phone when all of a sudden you just lose mobile connectivity and your phone call drops. No explanation, no notification. Soon after, it happens again. And again. At one point, the device goes into recovery mode, rebooting every minute and a half until you finally perform a factory reset.</p><p>This is not a theoretical scenario - it is a real possibility, thanks to a critical-severity vulnerability in Android tracked as CVE-2026-58882. </p><p>Google has patched the issue for newer versions of Android, but those who are past their end-of-life date will remain at risk.</p><h2 id="sending-an-evil-message">Sending an evil message</h2><p>The bug was discovered by security researcher Mark Blah and described as a zero-click denial of service (DoS) vulnerability. In more technical terms, it is an “improper validation of a header-length value” bug in Android’s WapPushOverSms.decodeWapPdu function. It was nicknamed “SMS of Death” because it can be exploited with nothing more than an SMS message, which the victims doesn’t even have to open (hence the ‘zero-click’ part). </p><p>As Blah discovered, a threat actor could send a malformed eight-byte WAP Push message to an <a href="https://www.techradar.com/best/best-android-phones" target="_blank">Android</a> device’s port 2948: 01 06 88 80 80 80 00 BE. </p><p>Since this is a hex message, when it gets translated into a signed 32-bit integer, it becomes -2147483648. Android can then try to allocate memory using this negative value, triggering a NegativeArraySizeException error that crashes the com.android.phone process. Since this process manages cellular functions, the call is dropped and mobile connectivity is disrupted. Even emergency services are susceptible, it was said. </p><p>It gets worse. Android processes messages before they reach the inbox, meaning the victim will not be notified of the SMS and won’t even know it’s the text message that’s crashing the system. Also, some carriers will attempt to redeliver messages that never reached the inbox, extending the agony. Android also does its part by constantly trying to process messages already stored on the phone. </p><p>Finally, Blah found that if a malicious actor sends 20 or more messages, they can force the device into a reboot loop. On an Android 12 device, they can force looped recovery mode, leaving factory reset as the only viable option. </p><h2 id="patching-the-sms-of-death">Patching the SMS of Death</h2><p>Initially, all Android versions were affected, it was said. Google patched it for versions 14 through 17, but older devices will not be getting a patch and thus will remain at risk indefinitely. The fix is called “Fix remote DoS in decodeWapPdu”, and apparently it prevents the crashes by catching exceptions triggered when Android processes malformed text messages. It also deletes these messages from the SMS database so that they don’t trigger repeat crashes. </p><p>Blah has released a proof-of-concept (PoC), showing the wider community exactly how to exploit the flaw, and<em> </em><a href="https://www.bleepingcomputer.com/news/security/new-android-sms-of-death-exploit-can-remotely-crash-unpatched-phones/" target="_blank"><em>BleepingComputer</em></a> reported that a GitHub contributor found a way to remove the malicious message, but it requires more technical knowledge, which is something the majority of mobile phone users probably won’t have. Still, those interested in tinkering should know that it can be removed via a computer, using Android Debug Bridge (ADB). </p><p>Google apparently patched the bug in its <a href="https://source.android.com/docs/security/bulletin/2026/2026-10-01" target="_blank">October 2026 Android security updates</a>, but that doesn’t automatically mean all Android users are safe. Unlike Apple’s ecosystem, Android is diversified, and different manufacturers have different update cadences. </p><p>Therefore, while we can assume Pixel users have likely already received this update, Samsung users, as well as those using Xiaomi, Motorola, or OnePlus devices, will probably have to wait a little longer until their manufacturers apply the fix to their devices and push the update. </p><p>Still, since the PoC has been released, it’s safe to assume most Android manufacturers have already pushed their updates. Users are advised to install them as soon as possible.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/this-sms-of-death-exploit-can-remotely-crash-unpatched-android-phones</link>
                                                                            <description>
                            <![CDATA[ Older Android devices will remain permanently at risk, experts warn. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">wPPEYeehSkEiLBQVJMXVeR</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/BiyAK4BXKKfecCWadFcHGo-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 18:25:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/BiyAK4BXKKfecCWadFcHGo-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / tomeqs]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Android reboot interface]]></media:description>                                                            <media:text><![CDATA[Android reboot interface]]></media:text>
                                <media:title type="plain"><![CDATA[Android reboot interface]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/BiyAK4BXKKfecCWadFcHGo-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>A zero-click Android flaw let attackers crash phones with a specially crafted SMS message</strong></li><li><strong>Repeated messages could trigger reboot loops, disrupt calls, and even affect emergency connectivity</strong></li><li><strong>Google patched supported Android versions, but many end-of-life devices remain permanently vulnerable</strong></li></ul><p>Picture this: You’re talking on your Android phone when all of a sudden you just lose mobile connectivity and your phone call drops. No explanation, no notification. Soon after, it happens again. And again. At one point, the device goes into recovery mode, rebooting every minute and a half until you finally perform a factory reset.</p><p>This is not a theoretical scenario - it is a real possibility, thanks to a critical-severity vulnerability in Android tracked as CVE-2026-58882. </p><p>Google has patched the issue for newer versions of Android, but those who are past their end-of-life date will remain at risk.</p><h2 id="sending-an-evil-message">Sending an evil message</h2><p>The bug was discovered by security researcher Mark Blah and described as a zero-click denial of service (DoS) vulnerability. In more technical terms, it is an “improper validation of a header-length value” bug in Android’s WapPushOverSms.decodeWapPdu function. It was nicknamed “SMS of Death” because it can be exploited with nothing more than an SMS message, which the victims doesn’t even have to open (hence the ‘zero-click’ part). </p><p>As Blah discovered, a threat actor could send a malformed eight-byte WAP Push message to an <a href="https://www.techradar.com/best/best-android-phones" target="_blank">Android</a> device’s port 2948: 01 06 88 80 80 80 00 BE. </p><p>Since this is a hex message, when it gets translated into a signed 32-bit integer, it becomes -2147483648. Android can then try to allocate memory using this negative value, triggering a NegativeArraySizeException error that crashes the com.android.phone process. Since this process manages cellular functions, the call is dropped and mobile connectivity is disrupted. Even emergency services are susceptible, it was said. </p><p>It gets worse. Android processes messages before they reach the inbox, meaning the victim will not be notified of the SMS and won’t even know it’s the text message that’s crashing the system. Also, some carriers will attempt to redeliver messages that never reached the inbox, extending the agony. Android also does its part by constantly trying to process messages already stored on the phone. </p><p>Finally, Blah found that if a malicious actor sends 20 or more messages, they can force the device into a reboot loop. On an Android 12 device, they can force looped recovery mode, leaving factory reset as the only viable option. </p><h2 id="patching-the-sms-of-death">Patching the SMS of Death</h2><p>Initially, all Android versions were affected, it was said. Google patched it for versions 14 through 17, but older devices will not be getting a patch and thus will remain at risk indefinitely. The fix is called “Fix remote DoS in decodeWapPdu”, and apparently it prevents the crashes by catching exceptions triggered when Android processes malformed text messages. It also deletes these messages from the SMS database so that they don’t trigger repeat crashes. </p><p>Blah has released a proof-of-concept (PoC), showing the wider community exactly how to exploit the flaw, and<em> </em><a href="https://www.bleepingcomputer.com/news/security/new-android-sms-of-death-exploit-can-remotely-crash-unpatched-phones/" target="_blank"><em>BleepingComputer</em></a> reported that a GitHub contributor found a way to remove the malicious message, but it requires more technical knowledge, which is something the majority of mobile phone users probably won’t have. Still, those interested in tinkering should know that it can be removed via a computer, using Android Debug Bridge (ADB). </p><p>Google apparently patched the bug in its <a href="https://source.android.com/docs/security/bulletin/2026/2026-10-01" target="_blank">October 2026 Android security updates</a>, but that doesn’t automatically mean all Android users are safe. Unlike Apple’s ecosystem, Android is diversified, and different manufacturers have different update cadences. </p><p>Therefore, while we can assume Pixel users have likely already received this update, Samsung users, as well as those using Xiaomi, Motorola, or OnePlus devices, will probably have to wait a little longer until their manufacturers apply the fix to their devices and push the update. </p><p>Still, since the PoC has been released, it’s safe to assume most Android manufacturers have already pushed their updates. Users are advised to install them as soon as possible.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This new Windows malware steals all your data, then uses AI to rank how valuable you are as a victim ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>New malware uses AI to analyze stolen data, rank victims, and identify the most profitable targets</strong></li><li><strong>VOLTA-AUTODOXER steals credentials, crypto wallets, tokens, and personal information before generating AI dossiers</strong></li><li><strong>Researchers warn the malware could commoditize AI-powered victim profiling for ransomware and cybercrime operators</strong></li></ul><p>Stealing sensitive data from a lot of people is one thing, but determining whether or not that data is worth anything to anyone - that’s an entirely different ball game. </p><p>Now, it seems cybercriminals found a way to easily profile their victims’ information and they’re using - you guessed it - Artificial Intelligence (AI).</p><p>Cybersecurity researchers <a href="https://blog.talosintelligence.com/appraisal-by-ai-model-driven-victim-prioritization-in-the-volta-infostealer/" target="_blank" rel="nofollow">Cisco Talos</a> uncovered a new malware strain through Cognitive Artificial Intelligence Research Network (CAIRN) - an open source cybersecurity research kit built to identify and track AI-powered malware. </p><p>The strain is called VOLTA-AUTODOXER and its operation is split into four key steps: 1) steal as much information as possible; 2) share it with an AI for assessment; 3) exfiltrate the data to attacker-controlled infrastructure; and 4) remove yourself from the victim’s system. </p><h2 id="analyzing-the-data">Analyzing the data</h2><p>Cisco Talos did not say where exactly the malware was found, how many devices it infected, or how it is being disseminated. It said that, on surface level, it looks just like any other infostealer. It grabs browser passwords, cookies, payment cards, cryptocurrency wallet seed phrases, Discord, Telegram, Steam, and Roblox sessions, Microsoft OAuth tokens, SSH and cloud-provider keys, Wi-Fi profiles, and screenshots.</p><p>But this is where it splits from the industry standard, by building a structured evidence bundle about the person behind the system. </p><p>It pulls the device’s geographical location, home address, employer and employer domain, inferred birth year, the last 4 digits of their credit cards, Slack workspaces, document authorship metadata, iPhone backup indicators, and even a live Roblox account valuation. Then it moves to Gmail, looking for mails from UberEats and DoorDash in order to confirm the home address. </p><p>VOLTA then bundles and serializes the bundle, before POSTing it to OpenRouter, an AI infrastructure platform where users can access hundreds of LLMs through a single API. </p><p>There, the AI gives a model a prompt to behave as a “forensic intelligence analyst drafting a target assessment”. In other words, the AI is tasked with assessing whether or not the data pulled is worth any trouble, and if so - how much. Victims are ranked by value, giving the attackers more time to do what seems to be the end goal here - ransomware. </p><p>The default model is Claude, but if it refuses to comply for any reason, the <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a> is instructed to fall back to Moonshot AI’s Kimi K2 and Google’s Gemini 2.5 Flash. If neither of the models end up working, the malware will just send raw data back to the attacker. This is usually done via a Telegram channel. </p><h2 id="running-away">Running away</h2><p>After the work has been completed, VOLTA is instructed to delete itself from the system, likely to cover its tracks. A separate file, named volta_debug.txt apparently remains on the system, showing what was collected and whether or not the AI-powered assessment was a success. </p><p>The researchers believe VOLTA is designed to be sold on the black market. Elements such as the Telegram channel, or API keys, are not hardcoded, and the malware comes as a template with six swappable slots that are filed in at build time. </p><p>“This suggests it’s a builder model: The author sells access, the customer provides their values, and the builder compiles a custom binary for each order,” Cisco Talos explains. “If VOLTA is indeed a commoditized malware, then the AI dossier capability isn't something the author invented for their own operations. It is a feature which enables a customer of any level of sophistication to point it at victims and start receiving ranked target assessments in their Telegram inbox.”</p><p>If you suspect an infection, revoke or rotate all API keys and tokens, and change all of your passwords. Also, double-check your crypto wallets and move all funds to a new wallet with a fresh seed.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/this-new-windows-malware-steals-all-your-data-then-uses-ai-to-rank-how-valuable-you-are-as-a-victim</link>
                                                                            <description>
                            <![CDATA[ Sifting through a mountain of data is tedious work - so why not let AI do it for you? ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">SuDL2tqWcpDSH7QsHGjf4B</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/qP76MS2BAb7kSuWrvJXXYL-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 17:05:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/qP76MS2BAb7kSuWrvJXXYL-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands typing on a tablet with AI superimposed in text in front]]></media:description>                                                            <media:text><![CDATA[Hands typing on a tablet with AI superimposed in text in front]]></media:text>
                                <media:title type="plain"><![CDATA[Hands typing on a tablet with AI superimposed in text in front]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/qP76MS2BAb7kSuWrvJXXYL-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>New malware uses AI to analyze stolen data, rank victims, and identify the most profitable targets</strong></li><li><strong>VOLTA-AUTODOXER steals credentials, crypto wallets, tokens, and personal information before generating AI dossiers</strong></li><li><strong>Researchers warn the malware could commoditize AI-powered victim profiling for ransomware and cybercrime operators</strong></li></ul><p>Stealing sensitive data from a lot of people is one thing, but determining whether or not that data is worth anything to anyone - that’s an entirely different ball game. </p><p>Now, it seems cybercriminals found a way to easily profile their victims’ information and they’re using - you guessed it - Artificial Intelligence (AI).</p><p>Cybersecurity researchers <a href="https://blog.talosintelligence.com/appraisal-by-ai-model-driven-victim-prioritization-in-the-volta-infostealer/" target="_blank" rel="nofollow">Cisco Talos</a> uncovered a new malware strain through Cognitive Artificial Intelligence Research Network (CAIRN) - an open source cybersecurity research kit built to identify and track AI-powered malware. </p><p>The strain is called VOLTA-AUTODOXER and its operation is split into four key steps: 1) steal as much information as possible; 2) share it with an AI for assessment; 3) exfiltrate the data to attacker-controlled infrastructure; and 4) remove yourself from the victim’s system. </p><h2 id="analyzing-the-data">Analyzing the data</h2><p>Cisco Talos did not say where exactly the malware was found, how many devices it infected, or how it is being disseminated. It said that, on surface level, it looks just like any other infostealer. It grabs browser passwords, cookies, payment cards, cryptocurrency wallet seed phrases, Discord, Telegram, Steam, and Roblox sessions, Microsoft OAuth tokens, SSH and cloud-provider keys, Wi-Fi profiles, and screenshots.</p><p>But this is where it splits from the industry standard, by building a structured evidence bundle about the person behind the system. </p><p>It pulls the device’s geographical location, home address, employer and employer domain, inferred birth year, the last 4 digits of their credit cards, Slack workspaces, document authorship metadata, iPhone backup indicators, and even a live Roblox account valuation. Then it moves to Gmail, looking for mails from UberEats and DoorDash in order to confirm the home address. </p><p>VOLTA then bundles and serializes the bundle, before POSTing it to OpenRouter, an AI infrastructure platform where users can access hundreds of LLMs through a single API. </p><p>There, the AI gives a model a prompt to behave as a “forensic intelligence analyst drafting a target assessment”. In other words, the AI is tasked with assessing whether or not the data pulled is worth any trouble, and if so - how much. Victims are ranked by value, giving the attackers more time to do what seems to be the end goal here - ransomware. </p><p>The default model is Claude, but if it refuses to comply for any reason, the <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware</a> is instructed to fall back to Moonshot AI’s Kimi K2 and Google’s Gemini 2.5 Flash. If neither of the models end up working, the malware will just send raw data back to the attacker. This is usually done via a Telegram channel. </p><h2 id="running-away">Running away</h2><p>After the work has been completed, VOLTA is instructed to delete itself from the system, likely to cover its tracks. A separate file, named volta_debug.txt apparently remains on the system, showing what was collected and whether or not the AI-powered assessment was a success. </p><p>The researchers believe VOLTA is designed to be sold on the black market. Elements such as the Telegram channel, or API keys, are not hardcoded, and the malware comes as a template with six swappable slots that are filed in at build time. </p><p>“This suggests it’s a builder model: The author sells access, the customer provides their values, and the builder compiles a custom binary for each order,” Cisco Talos explains. “If VOLTA is indeed a commoditized malware, then the AI dossier capability isn't something the author invented for their own operations. It is a feature which enables a customer of any level of sophistication to point it at victims and start receiving ranked target assessments in their Telegram inbox.”</p><p>If you suspect an infection, revoke or rotate all API keys and tokens, and change all of your passwords. Also, double-check your crypto wallets and move all funds to a new wallet with a fresh seed.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ FBI confirms it thinks North Korean hackers hit Binance in record cryptocurrency heist ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The FBI formally attributes $6.7 billion Binance cryptocurrency theft to North Korea’s TraderTraitor group</strong></li><li><strong>Investigators say the attackers are laundering stolen assets across multiple blockchains and DeFi services</strong></li><li><strong>The breach highlights ongoing threats from Lazarus-linked campaigns targeting crypto, DevOps, and software professionals</strong></li></ul><p>The FBI has publicly accused a North Korean state-sponsored threat actor of being behind the <a href="https://www.techradar.com/pro/security/binance-hit-by-largest-crypto-theft-on-record-as-north-korean-hackers-steal-usd6-3bn-in-just-20-minutes">recent attack on cryptocurrency exchange Binance</a>. </p><p>One of the largest cryptocurrency exchange platforms on the planet was forced to freeze deposits and withdrawals, before confirming a threat actor stole around $6.7 billion worth of different cryptocurrencies.</p><p>Analysts were quick to investigate, with some claiming a known North Korean state-sponsored group called TraderTraitor was behind the heist. TraderTraitor is apparently part of Lazarus Group - a huge cybercriminal operation on North Korea’s payroll, allegedly tasked with stealing money to fund the country’s state apparatus and weapons program.</p><h2 id="tradertraitor">TraderTraitor</h2><p>Now, the FBI has issued a new <a href="https://www.fbi.gov/investigate/cyber/alerts/2026/north-korea-responsible-for-6-billion-binance-attack" target="_blank" rel="nofollow">statement</a>, official naming TraderTraitor as the attackers.</p><p>“The Federal Bureau of Investigation (FBI) is releasing information advising the Democratic People's Republic of Korea (North Korea) was responsible for the theft of more than $6 billion USD in virtual assets from cryptocurrency exchange Binance, on or about October 29, 2026. The FBI refers to this specific North Korean malicious cyber activity as ‘TraderTraitor’.,” the announcement reads.</p><p>“The FBI, together with partners at the USSS and IRS-CI, has observed TraderTraitor actors converting stolen assets primarily into Ethereum (ETH). It is expected these assets will then be further laundered by converting them using DeFi and instant swap services as they prepare them for further laundering stages.”</p><p>Binance said one of its DevOps engineers had their laptop compromised which “gave an attacker access to a service container, where they submitted unauthorized withdrawal transactions.” Some speculated the engineer fell to a classic fake job scam, while others argued it was a romance scam.</p><p>In the meantime, Binance resumed operations and has covered most of its losses.</p><p>Initial reports found that the attackers siphoned out money from 10 different chains, including Bitcoin, Ethereum, Solana, XRP, Arbitrum, and others. For Ethereum, they even set up a smart contract that automatically withdrew any new money that was flowing into the account. The silver lining in the attack is that these were not user funds, but rather those of the exchange itself. </p><p>Cryptocurrency exchanges are obliged to have two separate wallets - one for their own funds, and one for those of their customers. Binance has a security fund called SAFU (Secure Asset Fund for Users), designed to protect user assets during extreme platform-level incidents, such as this one.</p><h2 id="operations-dreamjob-and-contagious-interview">Operations DreamJob and Contagious Interview</h2><p>Obviously, North Korea has not commented on these allegations, but the cybersecurity community has logn warned about Lazarus Group targeting organizations in the West, sometimes tasked with stealing money, and sometimes with cyber-espionage and eavesdropping. </p><p>The group is split into numerous sub-groups, one of them being TraderTraitor, and among other things, the group runs two major scam campaigns: Operation DreamJob, and Contagious Interview. Both are aimed at software developers, blockchain programmers, and DevOps professionals, and the wider software development industry. </p><p>As part of these scams, the attackers would create fake companies, fake employees, and fake job offers. They would reach out to their targets on LinkedIn and offer lucrative job positions, only to infect their computers with malware during the interviews. In some cases, they would apply for open positions, impersonating Chinese, Vietnamese, or Thai nationals and would, when they get the job, use the position to steal sensitive data and money.</p><p>North Korea is under heavy sanctions from the US, and the country does not allow its companies to hire, or do business with, individuals and organizations in North Korea.</p><p>The FBI shared a long list of wallets it believes contain the stolen funds, and has asked THORNode operators, RPC node operators, instant exchanges, DeFi services, blockchain analytics firms, and other virtual asset service providers to block transactions with or derived from these addresses.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/fbi-confirms-it-thinks-north-korean-hackers-hit-binance-in-record-cryptocurrency-heist</link>
                                                                            <description>
                            <![CDATA[ TraderTraitor is now officially accused of the attack that cost Binance north of $6 billion. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">d7ALRqHjNCZkYBcb8u33S</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/kDLU9By5uaPPbwrbfEaZFJ-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 16:20:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/kDLU9By5uaPPbwrbfEaZFJ-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[North Korean flag with a hooded hacker]]></media:description>                                                            <media:text><![CDATA[North Korean flag with a hooded hacker]]></media:text>
                                <media:title type="plain"><![CDATA[North Korean flag with a hooded hacker]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/kDLU9By5uaPPbwrbfEaZFJ-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The FBI formally attributes $6.7 billion Binance cryptocurrency theft to North Korea’s TraderTraitor group</strong></li><li><strong>Investigators say the attackers are laundering stolen assets across multiple blockchains and DeFi services</strong></li><li><strong>The breach highlights ongoing threats from Lazarus-linked campaigns targeting crypto, DevOps, and software professionals</strong></li></ul><p>The FBI has publicly accused a North Korean state-sponsored threat actor of being behind the <a href="https://www.techradar.com/pro/security/binance-hit-by-largest-crypto-theft-on-record-as-north-korean-hackers-steal-usd6-3bn-in-just-20-minutes">recent attack on cryptocurrency exchange Binance</a>. </p><p>One of the largest cryptocurrency exchange platforms on the planet was forced to freeze deposits and withdrawals, before confirming a threat actor stole around $6.7 billion worth of different cryptocurrencies.</p><p>Analysts were quick to investigate, with some claiming a known North Korean state-sponsored group called TraderTraitor was behind the heist. TraderTraitor is apparently part of Lazarus Group - a huge cybercriminal operation on North Korea’s payroll, allegedly tasked with stealing money to fund the country’s state apparatus and weapons program.</p><h2 id="tradertraitor">TraderTraitor</h2><p>Now, the FBI has issued a new <a href="https://www.fbi.gov/investigate/cyber/alerts/2026/north-korea-responsible-for-6-billion-binance-attack" target="_blank" rel="nofollow">statement</a>, official naming TraderTraitor as the attackers.</p><p>“The Federal Bureau of Investigation (FBI) is releasing information advising the Democratic People's Republic of Korea (North Korea) was responsible for the theft of more than $6 billion USD in virtual assets from cryptocurrency exchange Binance, on or about October 29, 2026. The FBI refers to this specific North Korean malicious cyber activity as ‘TraderTraitor’.,” the announcement reads.</p><p>“The FBI, together with partners at the USSS and IRS-CI, has observed TraderTraitor actors converting stolen assets primarily into Ethereum (ETH). It is expected these assets will then be further laundered by converting them using DeFi and instant swap services as they prepare them for further laundering stages.”</p><p>Binance said one of its DevOps engineers had their laptop compromised which “gave an attacker access to a service container, where they submitted unauthorized withdrawal transactions.” Some speculated the engineer fell to a classic fake job scam, while others argued it was a romance scam.</p><p>In the meantime, Binance resumed operations and has covered most of its losses.</p><p>Initial reports found that the attackers siphoned out money from 10 different chains, including Bitcoin, Ethereum, Solana, XRP, Arbitrum, and others. For Ethereum, they even set up a smart contract that automatically withdrew any new money that was flowing into the account. The silver lining in the attack is that these were not user funds, but rather those of the exchange itself. </p><p>Cryptocurrency exchanges are obliged to have two separate wallets - one for their own funds, and one for those of their customers. Binance has a security fund called SAFU (Secure Asset Fund for Users), designed to protect user assets during extreme platform-level incidents, such as this one.</p><h2 id="operations-dreamjob-and-contagious-interview">Operations DreamJob and Contagious Interview</h2><p>Obviously, North Korea has not commented on these allegations, but the cybersecurity community has logn warned about Lazarus Group targeting organizations in the West, sometimes tasked with stealing money, and sometimes with cyber-espionage and eavesdropping. </p><p>The group is split into numerous sub-groups, one of them being TraderTraitor, and among other things, the group runs two major scam campaigns: Operation DreamJob, and Contagious Interview. Both are aimed at software developers, blockchain programmers, and DevOps professionals, and the wider software development industry. </p><p>As part of these scams, the attackers would create fake companies, fake employees, and fake job offers. They would reach out to their targets on LinkedIn and offer lucrative job positions, only to infect their computers with malware during the interviews. In some cases, they would apply for open positions, impersonating Chinese, Vietnamese, or Thai nationals and would, when they get the job, use the position to steal sensitive data and money.</p><p>North Korea is under heavy sanctions from the US, and the country does not allow its companies to hire, or do business with, individuals and organizations in North Korea.</p><p>The FBI shared a long list of wallets it believes contain the stolen funds, and has asked THORNode operators, RPC node operators, instant exchanges, DeFi services, blockchain analytics firms, and other virtual asset service providers to block transactions with or derived from these addresses.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ This wood-heavy RTX 5090 gaming PC is a work of art and stunningly neat ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>'Heartwood' is a wood-based gaming PC that took seven years to build</strong></li><li><strong>It's stunningly neat, and the hidden trick is that it routes the cooling and other cables outside the PC</strong></li><li><strong>Those pipes and cables run underneath the desk, which the PC is effectively built into, and down into the basement below, where the full cooling system resides</strong></li></ul><p><a href="https://www.techradar.com/computing/desktop-pcs/a-coin-op-gaming-pc-and-one-that-can-cloak-its-hardware-innards-here-are-3-of-the-weirdest-coolest-new-pc-cases">Fancy custom PC builds come along with some regularity</a>, but every now and then something really unusual presents itself — and I'd class this as the smartest and neatest desktop computer I've ever seen.</p><p><a href="https://wccftech.com/modder-spends-7-years-to-complete-his-perfect-cable-less-wood-setup/" target="_blank">Wccftech spotted</a> the rig in question, which was posted in the <a href="https://www.reddit.com/r/PcBuild/comments/1xkc15w/7_years_in_the_making_and_its_finally_done_meet/" target="_blank">PC build subreddit</a> by Mithiral67. The <a href="https://www.techradar.com/computing/gaming-pcs/best-gaming-pc">gaming PC</a> is called 'Heartwood', and it took a rather incredible seven years to build.</p><p>It's based on an Inwin 909 case (which looks impressive in itself in brushed aluminum) using a semi-open concept, with the motherboard sitting in an empty space (there's no rear panel with the build here, as you can see in the YouTube video below that shows off this PC).</p><p>This desktop looks incredibly neat and slick decked out in wood and aluminum, with the nifty lighting in the top of the case too, but where's the cooling and other cabling? That's when the full extent of this build becomes clear, because it also includes the desk underneath the PC.</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="WedjysGLWSg29SvsGf5mZ5" name="Custom-built wood PC" alt="Custom-built wood PC, showing cables running underneath the desk" src="https://cdn.mos.cms.futurecdn.net/WedjysGLWSg29SvsGf5mZ5-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: Mithiral67 on Reddit)</span></figcaption></figure><p>What the maker has done is route the liquid cooling and power cables down through the bottom of the case and the desk, with these running around the underside of the desk, and then down a leg into the floor, to the basement of the house, where all the water-cooling gubbins (built around a Mora 400) resides.</p><p>Not only was this build a time-consuming labor of love, it was also a very costly one. Another Redditor enquires about the price of the materials, and according to Mithiral67 the wood itself was around $4,000 – and they said they didn't even want to get into the cost of the woodworking tools.</p><p>As for the components, the PC is built on a Ryzen 9800X3D processor plus Nvidia RTX 5090 GPU.</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/WATSyPDW0QQ" allowfullscreen=""></iframe></div></div><h2 id="waiting-out-the-gpu-pricing-nightmares">Waiting out the GPU pricing nightmares</h2><p>So, this was a pricey build, and a complex one, but even then, seven years seems like a very long time for putting the PC together — it means Mithiral67 started their project before the pandemic.</p><p>What gives? Well, as they explain: "For those asking, 7 years was mostly waiting for a GPU at MSRP, literally took 4 generations to get lucky at Micro Center."</p><p>There you have it. Those hoping to feature an RTX 5090 in their custom build are looking at paying an absolute fortune currently, of course, and getting the Nvidia flagship at list price now <a href="https://www.techradar.com/computing/gpu/nvidia-rtx-5090-gpu-prices-skyrocket-to-usd9-000-as-fresh-rtx-6000-rumor-suggests-a-2027-launch-that-fills-me-with-dread">seems almost as miraculous a feat</a> as the construction and thoughtful crafting witnessed with this PC.</p><p>Mind you, even then Mithiral67 had to buy the RTX 5090 as part of a full PC to get it at the equivalent of the sticker price (which worked out fine, as it meant they could use that other PC for playing games while they painstakingly finished off the work of art that is 'Heartwood').</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:1080px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="CtuLTco6J72JXTcxVV8bZ5" name="Custom-built wood PC" alt="Custom-built wood PC, close up of CPU in motherboard" src="https://cdn.mos.cms.futurecdn.net/CtuLTco6J72JXTcxVV8bZ5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="607" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mithiral67 on Reddit)</span></figcaption></figure><p>As one admiring <a href="https://www.reddit.com/r/PcBuild/comments/1xkc15w/comment/19rynltoxa6ud/" target="_blank">Redditor summed up nicely</a>: "This is genuinely the most beautiful setup I've seen, in every aspect from the choice of wood, color, design, and function."</p><p>There's no shortage of commenters approving of the build, or indeed those pointing out that <a href="https://www.techradar.com/ai-platforms-assistants/he-can-pry-it-from-my-cold-dead-hands-sam-altman-says-its-quite-terrible-that-youre-using-ram-in-your-pc-when-theres-not-enough-for-ai-data-centers">Sam Altman doubtless disapproves of the amount of RAM</a> used in this desktop, too. <a href="https://www.techradar.com/computing/memory/is-sam-altman-going-to-break-into-my-house-and-steal-my-ram-no-but-the-ai-memory-crisis-could-be-about-to-get-a-whole-lot-worse">Don't you know that's memory</a> which could have powered another AI agent from a data center somewhere?</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/gaming-pcs/this-is-genuinely-the-most-beautiful-setup-ive-seen-from-design-to-function-this-wooden-pc-could-be-the-neatest-gaming-rig-ever-made-with-a-surprising-hidden-trick</link>
                                                                            <description>
                            <![CDATA[ Custom PC crafted with $4,000 worth of wood is stunning, but the near-decade-long build time was mostly about getting that RTX 5090. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">VyAJM4T8H8P6DcjgyyDjCc</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/HsLj6hti6cgjNeTBVAufb5-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 15:33:11 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 15:33:59 +0000</updated>
                                                                                                                                            <category><![CDATA[Gaming PCs]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Gaming Computers]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/HsLj6hti6cgjNeTBVAufb5-1920-80.jpg">
                                                            <media:credit><![CDATA[Mithiral67 on Reddit]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Custom-built wood PC, shown at an angle on a desk]]></media:description>                                                            <media:text><![CDATA[Custom-built wood PC, shown at an angle on a desk]]></media:text>
                                <media:title type="plain"><![CDATA[Custom-built wood PC, shown at an angle on a desk]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/HsLj6hti6cgjNeTBVAufb5-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>'Heartwood' is a wood-based gaming PC that took seven years to build</strong></li><li><strong>It's stunningly neat, and the hidden trick is that it routes the cooling and other cables outside the PC</strong></li><li><strong>Those pipes and cables run underneath the desk, which the PC is effectively built into, and down into the basement below, where the full cooling system resides</strong></li></ul><p><a href="https://www.techradar.com/computing/desktop-pcs/a-coin-op-gaming-pc-and-one-that-can-cloak-its-hardware-innards-here-are-3-of-the-weirdest-coolest-new-pc-cases">Fancy custom PC builds come along with some regularity</a>, but every now and then something really unusual presents itself — and I'd class this as the smartest and neatest desktop computer I've ever seen.</p><p><a href="https://wccftech.com/modder-spends-7-years-to-complete-his-perfect-cable-less-wood-setup/" target="_blank">Wccftech spotted</a> the rig in question, which was posted in the <a href="https://www.reddit.com/r/PcBuild/comments/1xkc15w/7_years_in_the_making_and_its_finally_done_meet/" target="_blank">PC build subreddit</a> by Mithiral67. The <a href="https://www.techradar.com/computing/gaming-pcs/best-gaming-pc">gaming PC</a> is called 'Heartwood', and it took a rather incredible seven years to build.</p><p>It's based on an Inwin 909 case (which looks impressive in itself in brushed aluminum) using a semi-open concept, with the motherboard sitting in an empty space (there's no rear panel with the build here, as you can see in the YouTube video below that shows off this PC).</p><p>This desktop looks incredibly neat and slick decked out in wood and aluminum, with the nifty lighting in the top of the case too, but where's the cooling and other cabling? That's when the full extent of this build becomes clear, because it also includes the desk underneath the PC.</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="WedjysGLWSg29SvsGf5mZ5" name="Custom-built wood PC" alt="Custom-built wood PC, showing cables running underneath the desk" src="https://cdn.mos.cms.futurecdn.net/WedjysGLWSg29SvsGf5mZ5-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: Mithiral67 on Reddit)</span></figcaption></figure><p>What the maker has done is route the liquid cooling and power cables down through the bottom of the case and the desk, with these running around the underside of the desk, and then down a leg into the floor, to the basement of the house, where all the water-cooling gubbins (built around a Mora 400) resides.</p><p>Not only was this build a time-consuming labor of love, it was also a very costly one. Another Redditor enquires about the price of the materials, and according to Mithiral67 the wood itself was around $4,000 – and they said they didn't even want to get into the cost of the woodworking tools.</p><p>As for the components, the PC is built on a Ryzen 9800X3D processor plus Nvidia RTX 5090 GPU.</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/WATSyPDW0QQ" allowfullscreen=""></iframe></div></div><h2 id="waiting-out-the-gpu-pricing-nightmares">Waiting out the GPU pricing nightmares</h2><p>So, this was a pricey build, and a complex one, but even then, seven years seems like a very long time for putting the PC together — it means Mithiral67 started their project before the pandemic.</p><p>What gives? Well, as they explain: "For those asking, 7 years was mostly waiting for a GPU at MSRP, literally took 4 generations to get lucky at Micro Center."</p><p>There you have it. Those hoping to feature an RTX 5090 in their custom build are looking at paying an absolute fortune currently, of course, and getting the Nvidia flagship at list price now <a href="https://www.techradar.com/computing/gpu/nvidia-rtx-5090-gpu-prices-skyrocket-to-usd9-000-as-fresh-rtx-6000-rumor-suggests-a-2027-launch-that-fills-me-with-dread">seems almost as miraculous a feat</a> as the construction and thoughtful crafting witnessed with this PC.</p><p>Mind you, even then Mithiral67 had to buy the RTX 5090 as part of a full PC to get it at the equivalent of the sticker price (which worked out fine, as it meant they could use that other PC for playing games while they painstakingly finished off the work of art that is 'Heartwood').</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:1080px;"><p class="vanilla-image-block" style="padding-top:56.20%;"><img id="CtuLTco6J72JXTcxVV8bZ5" name="Custom-built wood PC" alt="Custom-built wood PC, close up of CPU in motherboard" src="https://cdn.mos.cms.futurecdn.net/CtuLTco6J72JXTcxVV8bZ5-1920-80.jpg" mos="" align="middle" fullscreen="" width="1080" height="607" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Mithiral67 on Reddit)</span></figcaption></figure><p>As one admiring <a href="https://www.reddit.com/r/PcBuild/comments/1xkc15w/comment/19rynltoxa6ud/" target="_blank">Redditor summed up nicely</a>: "This is genuinely the most beautiful setup I've seen, in every aspect from the choice of wood, color, design, and function."</p><p>There's no shortage of commenters approving of the build, or indeed those pointing out that <a href="https://www.techradar.com/ai-platforms-assistants/he-can-pry-it-from-my-cold-dead-hands-sam-altman-says-its-quite-terrible-that-youre-using-ram-in-your-pc-when-theres-not-enough-for-ai-data-centers">Sam Altman doubtless disapproves of the amount of RAM</a> used in this desktop, too. <a href="https://www.techradar.com/computing/memory/is-sam-altman-going-to-break-into-my-house-and-steal-my-ram-no-but-the-ai-memory-crisis-could-be-about-to-get-a-whole-lot-worse">Don't you know that's memory</a> which could have powered another AI agent from a data center somewhere?</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Applebee's forced to fix serious security issue which exposed customer data ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Applebee’s fixes mobile app flaw that exposed customer data through hardcoded database credentials</strong></li><li><strong>Researchers found access to personal information including names, contact details, birthdays, and account metadata</strong></li><li><strong>No evidence of abuse was found, but the incident highlights the persistent risk of hardcoded secrets in software</strong></li></ul><p>Applebee’s has fixed a serious flaw in its mobile app that exposed sensitive customer information to pretty much anyone. Whether or not anyone malicious actually found this vulnerability and exploited it is not known at this time.</p><p>The chain has an Android mobile app that allows customers to browse the menu, customize meals, place orders for delivery or pickup, save their favorites, or receive personalized food recommendations. </p><p>A security researcher from What Security called Robert Wiggins, used AI to analyze the source code of the app and found a gaping hole - hardcoded credentials for a company database.</p><h2 id="notifying-the-business">Notifying the business</h2><p>The database contained plenty of sensitive information: customer names, their email addresses (both verified and unverified ones), dates of birth, phone numbers, ZIP codes, veteran status, the number of logins, dates of account creation, and the IP address of the most recent login session.</p><p> We don’t know exactly how many people had their sensitive data exposed that way, but the app has more than a million downloads on the Google Play Store. </p><p>Wiggins soon realized that there was no way to report the issue either to Applebee’s itself or to its parent company, Dine Brands, so he reached out to <a href="https://techcrunch.com/2026/10/30/applebees-exposed-customers-personal-data-after-leaving-database-password-in-app/" target="_blank"><em>TechCrunch</em></a>. The publication verified his claims by finding the exposed credentials itself, and even created a new entry which Wiggins was later able to extract, and also confirmed the credentials allowed users to modify database entries.</p><p><em>TechCrunch</em> managed to get ahold of Dine Brands, who plugged the hole and thanked everyone involved: “We appreciate TechCrunch and the security researcher for bringing this matter to our attention,” the company said. “Our security team promptly launched an investigation and has not currently found any evidence of unauthorized access.” </p><p>“Our investigation is ongoing, and we will take appropriate steps based on our findings,” the company added. </p><p>Hardcoded credentials are a very common mistake that sometimes has dire consequences. During production, software developers would leave login credentials inside the code to work faster, allowing the app to skip the tedious process of identifying every single time. However, the credentials are supposed to be temporary and are usually removed from the code before launch. </p><p>Sometimes, though, the credentials don’t get spotted during final code review and end up in the live version. Crooks who scan the codes for vulnerabilities can then use the information for unauthorized access. </p><h2 id="a-common-error">A common error</h2><p>Unfortunately, it is a very common problem. In March 2025, security researchers from <em>Cybernews</em> analyzed more than 156,000 iOS apps and found more than <a href="https://www.techradar.com/pro/security/thousands-of-ios-apps-found-to-expose-user-data-and-leak-stripe-keys">815,000 hardcoded secrets</a>, thousands of which were “very sensitive and could lead directly to breaches or data leaks.” It’s worth mentioning that in this case, a “secret” means more than just <a href="https://www.techradar.com/best/password-manager" target="_blank">passwords</a> - it also includes API keys and encryption keys. The average app's code exposed 5.2 secrets, and 71% of apps leak at least one secret, Cybernews reported at the time.</p><p>A few months later, in July, HPE patched a similar bug in <a href="https://www.techradar.com/pro/security/hpe-warns-hardcoded-passwords-in-aruba-hardware-could-be-a-security-risk">Aruba Instant On Access Points</a>, and at roughly the same time, a similar flaw was found in Cisco’s Unified CM, enterprise-grade IP telephony call control platform providing voice, video, messaging, mobility, and presence services. </p><p>The leaks continued in 2026 - in February, news broke of Chinese state-sponsored threat actors abusing hardcoded credentials found in Dell’s RecoverPoint for Virtual Machines.</p><p>Applebee’s did not notify its customers about the incident, and it did not publicly disclose it on its website or social channels, at press time. Also, there are no indications that any threat actors exfiltrated this data or leaked it to the dark web.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/applebees-forced-to-fix-serious-security-issue-which-exposed-customer-data</link>
                                                                            <description>
                            <![CDATA[ A researcher found hardcoded credentials in Applebee's mobile app, granting access to a treasure trove of PII. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">XLwLKcnryNEmZS7JW8NZL</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/pVCXKrhThqmUjYVSZBjV5Z-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 15:10:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/pVCXKrhThqmUjYVSZBjV5Z-1920-80.jpg">
                                                            <media:credit><![CDATA[Thapana Onphalai via Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Hands on a laptop with overlaid logos representing network security]]></media:description>                                                            <media:text><![CDATA[Hands on a laptop with overlaid logos representing network security]]></media:text>
                                <media:title type="plain"><![CDATA[Hands on a laptop with overlaid logos representing network security]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/pVCXKrhThqmUjYVSZBjV5Z-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Applebee’s fixes mobile app flaw that exposed customer data through hardcoded database credentials</strong></li><li><strong>Researchers found access to personal information including names, contact details, birthdays, and account metadata</strong></li><li><strong>No evidence of abuse was found, but the incident highlights the persistent risk of hardcoded secrets in software</strong></li></ul><p>Applebee’s has fixed a serious flaw in its mobile app that exposed sensitive customer information to pretty much anyone. Whether or not anyone malicious actually found this vulnerability and exploited it is not known at this time.</p><p>The chain has an Android mobile app that allows customers to browse the menu, customize meals, place orders for delivery or pickup, save their favorites, or receive personalized food recommendations. </p><p>A security researcher from What Security called Robert Wiggins, used AI to analyze the source code of the app and found a gaping hole - hardcoded credentials for a company database.</p><h2 id="notifying-the-business">Notifying the business</h2><p>The database contained plenty of sensitive information: customer names, their email addresses (both verified and unverified ones), dates of birth, phone numbers, ZIP codes, veteran status, the number of logins, dates of account creation, and the IP address of the most recent login session.</p><p> We don’t know exactly how many people had their sensitive data exposed that way, but the app has more than a million downloads on the Google Play Store. </p><p>Wiggins soon realized that there was no way to report the issue either to Applebee’s itself or to its parent company, Dine Brands, so he reached out to <a href="https://techcrunch.com/2026/10/30/applebees-exposed-customers-personal-data-after-leaving-database-password-in-app/" target="_blank"><em>TechCrunch</em></a>. The publication verified his claims by finding the exposed credentials itself, and even created a new entry which Wiggins was later able to extract, and also confirmed the credentials allowed users to modify database entries.</p><p><em>TechCrunch</em> managed to get ahold of Dine Brands, who plugged the hole and thanked everyone involved: “We appreciate TechCrunch and the security researcher for bringing this matter to our attention,” the company said. “Our security team promptly launched an investigation and has not currently found any evidence of unauthorized access.” </p><p>“Our investigation is ongoing, and we will take appropriate steps based on our findings,” the company added. </p><p>Hardcoded credentials are a very common mistake that sometimes has dire consequences. During production, software developers would leave login credentials inside the code to work faster, allowing the app to skip the tedious process of identifying every single time. However, the credentials are supposed to be temporary and are usually removed from the code before launch. </p><p>Sometimes, though, the credentials don’t get spotted during final code review and end up in the live version. Crooks who scan the codes for vulnerabilities can then use the information for unauthorized access. </p><h2 id="a-common-error">A common error</h2><p>Unfortunately, it is a very common problem. In March 2025, security researchers from <em>Cybernews</em> analyzed more than 156,000 iOS apps and found more than <a href="https://www.techradar.com/pro/security/thousands-of-ios-apps-found-to-expose-user-data-and-leak-stripe-keys">815,000 hardcoded secrets</a>, thousands of which were “very sensitive and could lead directly to breaches or data leaks.” It’s worth mentioning that in this case, a “secret” means more than just <a href="https://www.techradar.com/best/password-manager" target="_blank">passwords</a> - it also includes API keys and encryption keys. The average app's code exposed 5.2 secrets, and 71% of apps leak at least one secret, Cybernews reported at the time.</p><p>A few months later, in July, HPE patched a similar bug in <a href="https://www.techradar.com/pro/security/hpe-warns-hardcoded-passwords-in-aruba-hardware-could-be-a-security-risk">Aruba Instant On Access Points</a>, and at roughly the same time, a similar flaw was found in Cisco’s Unified CM, enterprise-grade IP telephony call control platform providing voice, video, messaging, mobility, and presence services. </p><p>The leaks continued in 2026 - in February, news broke of Chinese state-sponsored threat actors abusing hardcoded credentials found in Dell’s RecoverPoint for Virtual Machines.</p><p>Applebee’s did not notify its customers about the incident, and it did not publicly disclose it on its website or social channels, at press time. Also, there are no indications that any threat actors exfiltrated this data or leaked it to the dark web.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Why the AI boom could keep memory prices high until 2030 ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Sam Altman has been making headlines for his claims that consumers don’t deserve DRAM because it is only utilized “5% of the time.” In his opinion, DRAM supplies should be prioritized for data centers where its utility can be maximized powering cloud environments.</p><p>Altman’s perspective is like a utilitarian's fantasy. Humanity’s endurance of short-term pain - by handing over every bit of DRAM we have - will lead to a morally right outcome in the form of a world powered by time-saving, efficiency-increasing, productivity-boosting AI.</p><p>Sounds great if you’re the head of an AI company, but less so if you just want memory to be affordable again.</p><p>But what the OpenAI head seems to forget is that the DRAM shortage is part of a crisis he had a hand in creating. When OpenAI’s Stargate datacenter buildout was announced in early 2025, it was predicted that the project would require 40% of the world’s global supply. Supply issues were compounded as leading producers of memory entered a production turndown just a few years before to help stabilize pricing.</p><h2 id="will-sam-altman-break-into-your-house-to-steal-your-ram">Will Sam Altman break into your house to steal your RAM?</h2><p>The good news is that there is little Sam Altman himself can do to take your RAM off you. One reddit user asked Google AI the question we’ve all been thinking: “Is Sam Altman going to break into my house and steal my RAM?”</p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/ChatGPT/comments/1xlj2ee/were_safe_for_now">We’re safe… for now</a><figcaption><cite> from <a href="https://www.reddit.com/r/ChatGPT">r/ChatGPT</a></cite></figcaption></blockquote></figure><script async="" src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>Google reassured the user with, “No, Sam Altman is not going to break into your house to physically steal your RAM.” So at least there's that.</p><p>But given how constrained the current memory supply is, there are a few ways that AI and other future tech could make the whole situation worse.</p><h2 id="the-worst-could-still-be-yet-to-come">The worst could still be yet to come</h2><p>One of the world’s leading memory manufacturers, SK Hynix, has <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">predicted that the supply shortage could “persist through 2030,”</a> making any hopes of a return to affordable pricing in the next few years a distant dream.</p><p>With OpenAI and Anthropic both set to hit the public market within that window, there is a lot of uncertainty over how the memory giants that control around 90% of the world’s supply will shift production.</p><p>Given the difference in revenue between the consumer memory market and the AI market, it wouldn’t be surprising to see a significant production swing towards the high-bandwidth memory required for AI inference and training.</p><p>This could be compounded by AI’s effect on the job market, with numerous firms enacting hiring freezes as AI strategies help cut out repetitive rote work. Higher unemployment and a lack of open positions could further reduce the demand for consumer memory, swinging production further in favor of AI.</p><p>But other emerging industries are also looking to take a bite out of the memory market.</p><h2 id="robots-and-autonomous-vehicles-are-coming-for-your-ram">Robots and autonomous vehicles are coming for your RAM</h2><p>There has been a recent explosion in the robotics industry: from <a href="https://www.techradar.com/ai-platforms-assistants/robots-have-smashed-human-world-records-for-the-100m-sprint-and-high-jump-at-chinas-robot-olympics-but-the-biggest-hurdle-is-stopping-safely">humanoid bots competing in their very own Olympics</a>, to warehouses staffed by fleets of micro-bots. As AI improves and converges with the robotics industry to produce bots with near-human fine motor control, numerous industries spanning manufacturing, hospitality and logistics <a href="https://www.techradar.com/pro/humans-being-optional-gartner-says-robots-will-dominate-workload-handling-in-50-of-new-warehouses-by-2030">could buy robots in place of humans</a>.</p><p>After all, a robot can work around the clock, doesn’t need to rest, and doesn’t have any rights to be violated with unsafe working conditions or excessive hours. The same goes for an autonomous taxi or cargo truck.</p><p>But they will need memory to run their little AI brains. And serving the corporate overlords is much more important (and much more profitable) than expanding memory production for the consumer market, so don’t expect things to improve any time soon.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/memory/is-sam-altman-going-to-break-into-my-house-and-steal-my-ram-no-but-the-ai-memory-crisis-could-be-about-to-get-a-whole-lot-worse</link>
                                                                            <description>
                            <![CDATA[ Sam Altman might not physically steal your RAM, but AI isn't the only industry hungry for more memory. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">v6zjEaF7WVbmnLBZBJUCi8</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/3TtA2vvEem4PtsZ7rv5Mea-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 13:56:40 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Memory]]></category>
                                                    <category><![CDATA[AI Platforms & Assistants]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                                                                <author><![CDATA[ benedict.collins@futurenet.com (Benedict Collins) ]]></author>                    <dc:creator><![CDATA[ Benedict Collins ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/jEvqGv8wvH7PWZ4XPURyyB-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Benedict is a Senior Security Writer at TechRadar Pro, where he has specialized in covering the intersection of geopolitics, cyber-warfare, and business security.&lt;/p&gt;&lt;p&gt;Benedict provides detailed analysis on state-sponsored threat actors, APT groups, and the protection of critical national infrastructure, with his reporting bridging the gap between technical threat intelligence and B2B security strategy.&lt;/p&gt;&lt;p&gt;Benedict holds an MA (Distinction) in Security, Intelligence, and Diplomacy from the University of Buckingham Centre for Security and Intelligence Studies (BUCSIS), with his specialization providing him with an elite academic framework for deconstructing complex international conflicts and intelligence operations. He also holds a BA in Politics with Journalism, providing him with a strong investigative nature and the ability to translate complex security data into clear, actionable insights.&lt;/p&gt;&lt;p&gt;When he isn’t analyzing the latest data breach or security threats, Benedict enjoys running and cycling throughout the UK countryside.&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/3TtA2vvEem4PtsZ7rv5Mea-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images/Bloomberg]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Sam Altman, CEO of OpenAI]]></media:description>                                                            <media:text><![CDATA[Sam Altman, CEO of OpenAI]]></media:text>
                                <media:title type="plain"><![CDATA[Sam Altman, CEO of OpenAI]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/3TtA2vvEem4PtsZ7rv5Mea-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Sam Altman has been making headlines for his claims that consumers don’t deserve DRAM because it is only utilized “5% of the time.” In his opinion, DRAM supplies should be prioritized for data centers where its utility can be maximized powering cloud environments.</p><p>Altman’s perspective is like a utilitarian's fantasy. Humanity’s endurance of short-term pain - by handing over every bit of DRAM we have - will lead to a morally right outcome in the form of a world powered by time-saving, efficiency-increasing, productivity-boosting AI.</p><p>Sounds great if you’re the head of an AI company, but less so if you just want memory to be affordable again.</p><p>But what the OpenAI head seems to forget is that the DRAM shortage is part of a crisis he had a hand in creating. When OpenAI’s Stargate datacenter buildout was announced in early 2025, it was predicted that the project would require 40% of the world’s global supply. Supply issues were compounded as leading producers of memory entered a production turndown just a few years before to help stabilize pricing.</p><h2 id="will-sam-altman-break-into-your-house-to-steal-your-ram">Will Sam Altman break into your house to steal your RAM?</h2><p>The good news is that there is little Sam Altman himself can do to take your RAM off you. One reddit user asked Google AI the question we’ve all been thinking: “Is Sam Altman going to break into my house and steal my RAM?”</p><figure><blockquote class="reddit-card"  ><a href="https://www.reddit.com/r/ChatGPT/comments/1xlj2ee/were_safe_for_now">We’re safe… for now</a><figcaption><cite> from <a href="https://www.reddit.com/r/ChatGPT">r/ChatGPT</a></cite></figcaption></blockquote></figure><script async="" src="//embed.redditmedia.com/widgets/platform.js" charset="UTF-8"></script><p>Google reassured the user with, “No, Sam Altman is not going to break into your house to physically steal your RAM.” So at least there's that.</p><p>But given how constrained the current memory supply is, there are a few ways that AI and other future tech could make the whole situation worse.</p><h2 id="the-worst-could-still-be-yet-to-come">The worst could still be yet to come</h2><p>One of the world’s leading memory manufacturers, SK Hynix, has <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">predicted that the supply shortage could “persist through 2030,”</a> making any hopes of a return to affordable pricing in the next few years a distant dream.</p><p>With OpenAI and Anthropic both set to hit the public market within that window, there is a lot of uncertainty over how the memory giants that control around 90% of the world’s supply will shift production.</p><p>Given the difference in revenue between the consumer memory market and the AI market, it wouldn’t be surprising to see a significant production swing towards the high-bandwidth memory required for AI inference and training.</p><p>This could be compounded by AI’s effect on the job market, with numerous firms enacting hiring freezes as AI strategies help cut out repetitive rote work. Higher unemployment and a lack of open positions could further reduce the demand for consumer memory, swinging production further in favor of AI.</p><p>But other emerging industries are also looking to take a bite out of the memory market.</p><h2 id="robots-and-autonomous-vehicles-are-coming-for-your-ram">Robots and autonomous vehicles are coming for your RAM</h2><p>There has been a recent explosion in the robotics industry: from <a href="https://www.techradar.com/ai-platforms-assistants/robots-have-smashed-human-world-records-for-the-100m-sprint-and-high-jump-at-chinas-robot-olympics-but-the-biggest-hurdle-is-stopping-safely">humanoid bots competing in their very own Olympics</a>, to warehouses staffed by fleets of micro-bots. As AI improves and converges with the robotics industry to produce bots with near-human fine motor control, numerous industries spanning manufacturing, hospitality and logistics <a href="https://www.techradar.com/pro/humans-being-optional-gartner-says-robots-will-dominate-workload-handling-in-50-of-new-warehouses-by-2030">could buy robots in place of humans</a>.</p><p>After all, a robot can work around the clock, doesn’t need to rest, and doesn’t have any rights to be violated with unsafe working conditions or excessive hours. The same goes for an autonomous taxi or cargo truck.</p><p>But they will need memory to run their little AI brains. And serving the corporate overlords is much more important (and much more profitable) than expanding memory production for the consumer market, so don’t expect things to improve any time soon.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Windows 11 feature built in a flash by AI is impressive — but worrying ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Windows 11 just got a revamped internet speed test in preview</strong></li><li><strong>This feature was shuttled swiftly through development using agentic AI in combination with human oversight</strong></li><li><strong>Microsoft boasts that this is about: "Getting from idea to customer value faster. Without AI slop." Others are more cynical, though</strong></li></ul><p>Windows 11 just got a useful change in preview, with its <a href="https://www.techradar.com/computing/windows/windows-11s-built-in-internet-speed-test-is-getting-a-divorce-from-bing-and-its-about-time">built-in internet speed test being revamped</a>, and the new version was produced using AI (in conjunction with human oversight, I should add).</p><p><a href="https://www.windowslatest.com/2026/10/31/without-ai-slop-microsoft-says-ai-built-a-windows-11-feature-and-it-just-needed-a-human-in-their-spare-time/" target="_blank">Windows Latest spotted</a> that Marcus Ash, Microsoft's VP of Windows Design and Research, <a href="https://x.com/marcusash/status/2116241829406691801" target="_blank">posted on X</a> to explain that the "team moved pretty fast on this one", adding that following feedback asking for the <a href="https://www.techradar.com/computing/windows/windows-11s-new-internet-speed-test-is-just-a-link-to-bing-com-in-a-move-that-smacks-of-laziness-and-overzealous-promotion">speed test to be improved</a>, "within a day, Diego had a working prototype." (Diego Baca is VP of Design for Windows).</p><p>Ash tells us: "From there, our connectivity team worked with partners to bring the experience into Windows. The design and build work was driven by an agentic AI workflow, with a person guiding the process in their spare time."</p><p>The Microsoft exec further explains that this is where he sees "a lot of potential in AI" and using agentic workflows, in terms of "Getting from idea to customer value faster. Without AI slop. That is the way."</p><h2 id="analysis-ai-oversight-bugs-and-jobs">Analysis: AI, oversight, bugs, and jobs</h2><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="24UwJgyxKCGvKtzZH5ckmN" name="microsoft-copilot-plus-pc" alt="A woman sitting in a chair looking at a Windows 11 laptop" src="https://cdn.mos.cms.futurecdn.net/24UwJgyxKCGvKtzZH5ckmN-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: Microsoft)</span></figcaption></figure><p>Of course, this is a controversial topic. Mention AI being involved in the coding of Windows 11 and some tempers will flare online, even though we know this is happening anyway. <a href="https://www.techradar.com/pro/a-shockingly-high-amount-of-microsoft-code-is-now-written-by-ai-it-admits">Microsoft has made no secret of that fact</a>.</p><p>Indeed, among the AI hate and flames on social media, a lot of people are point out that these days pretty much all software is being developed in conjunction with Large Language Models (LLM agents) — <a href="https://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work">even Linux</a>.</p><p>As one <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkhocl/comment/19rxxqy7srlyc/" target="_blank">Redditor makes clear</a>: "Newsflash — every single piece of software you use, except for open source projects that are making a statement, you should expect to have AI written code in it. It is pervasive, it is everywhere."</p><p>The key aspect here is exactly how the AI agent in question is employed.</p><p>It's one thing for such an agent to be given a task to write a piece of code for a certain feature, and then just to slap that into your software or operating system as it is (or maybe after a cursory glance through the work). It's another thing to have a human programmer working on a feature and using an agent to perform grunt-work (easy but perhaps time-consuming) coding therein — and then to properly check the AI's output.</p><p>Theoretically, there's nothing wrong with the latter approach, at least in terms of the soundness of the coding work. And as Microsoft's Ash points out, this is really accelerating development times — meaning Windows 11 users will get new features (hopefully capabilities they want, like this improved internet speed test) much more swiftly. Which is exactly why almost every developer is now utilizing this tech.</p><p>There are problems here, though, and they're bound up in the public perception of Microsoft. Do Windows 11 users trust the company to be using AI in the right — i.e., properly checked and vetted — way? Not really, in many cases, as there remains a lot of doubt over the overall quality of Windows 11 code, and rightly so given the regularity, and severity, of the bugs we've seen (with more prevalence since 2024, and that 24H2 update).</p><p>As another <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkhocl/comment/19rxzwpa36cir/" target="_blank">Redditor observes</a>: "People aren't calling Windows slop because it's being made using AI these days. They're calling it slop because it's being made using AI with woefully insufficient human oversight and even more woefully insufficient QA, leading to repeated disastrous bugs making it to production and end users being treated as beta testers. You want people to stop calling your product slop? Stop shipping updates that take down people's computers or break existing features."</p><p>The other issue here is that of AI stealing coding jobs from people. Agents may make things happen a lot more quickly, but as Ash notes, this revamped speed test was implemented mainly by an agent — including its design — with the software engineer "guiding the process in their spare time", making it sound like a rather casual amount of effort on the human side of the equation.</p><p>Is it a particularly sensitive approach to be touting the benefits of AI — as real as they may be for an operating system's ongoing development and maintenance — in this way at a time when <a href="https://www.techradar.com/gaming/gaming-industry/xbox-announces-the-most-significant-restructure-in-its-history-and-itll-cause-1-600-painful-job-losses-and-numerous-studio-sales">Microsoft has been swinging the axe</a> with various job cuts and <a href="https://www.techradar.com/pro/microsoft-offers-60-000-workers-voluntary-redundancy-buyout-option-ai-revolution-could-mean-a-quarter-of-its-workforce-can-now-leave">pushing staff towards voluntary redundancy in a big way</a>? I'd suggest it isn't, and the timing of this particular push of the value of agentic AI is dubious in that respect.</p><p>At least in this case Microsoft is being upfront and transparent about what it's doing — and we can expect a good deal more AI acceleration of Windows 11's development going forward.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/windows/windows-11s-new-internet-speed-test-was-built-in-a-flash-by-agentic-ai-which-is-both-impressive-and-worrying</link>
                                                                            <description>
                            <![CDATA[ Is Microsoft wise to be touting the benefits of AI in this way at the current time? I don't think so. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">4KzefBLGes9w9o6Hxx2mLj</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/mszszuQdPWYRLw8JSzLBcG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 13:02:09 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 21:56:52 +0000</updated>
                                                                                                                                            <category><![CDATA[Windows]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/mszszuQdPWYRLw8JSzLBcG-1920-80.jpg">
                                                            <media:credit><![CDATA[MAYA LAB / Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[girl using laptop hoping for good luck with her fingers crossed]]></media:description>                                                            <media:text><![CDATA[girl using laptop hoping for good luck with her fingers crossed]]></media:text>
                                <media:title type="plain"><![CDATA[girl using laptop hoping for good luck with her fingers crossed]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/mszszuQdPWYRLw8JSzLBcG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Windows 11 just got a revamped internet speed test in preview</strong></li><li><strong>This feature was shuttled swiftly through development using agentic AI in combination with human oversight</strong></li><li><strong>Microsoft boasts that this is about: "Getting from idea to customer value faster. Without AI slop." Others are more cynical, though</strong></li></ul><p>Windows 11 just got a useful change in preview, with its <a href="https://www.techradar.com/computing/windows/windows-11s-built-in-internet-speed-test-is-getting-a-divorce-from-bing-and-its-about-time">built-in internet speed test being revamped</a>, and the new version was produced using AI (in conjunction with human oversight, I should add).</p><p><a href="https://www.windowslatest.com/2026/10/31/without-ai-slop-microsoft-says-ai-built-a-windows-11-feature-and-it-just-needed-a-human-in-their-spare-time/" target="_blank">Windows Latest spotted</a> that Marcus Ash, Microsoft's VP of Windows Design and Research, <a href="https://x.com/marcusash/status/2116241829406691801" target="_blank">posted on X</a> to explain that the "team moved pretty fast on this one", adding that following feedback asking for the <a href="https://www.techradar.com/computing/windows/windows-11s-new-internet-speed-test-is-just-a-link-to-bing-com-in-a-move-that-smacks-of-laziness-and-overzealous-promotion">speed test to be improved</a>, "within a day, Diego had a working prototype." (Diego Baca is VP of Design for Windows).</p><p>Ash tells us: "From there, our connectivity team worked with partners to bring the experience into Windows. The design and build work was driven by an agentic AI workflow, with a person guiding the process in their spare time."</p><p>The Microsoft exec further explains that this is where he sees "a lot of potential in AI" and using agentic workflows, in terms of "Getting from idea to customer value faster. Without AI slop. That is the way."</p><h2 id="analysis-ai-oversight-bugs-and-jobs">Analysis: AI, oversight, bugs, and jobs</h2><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="24UwJgyxKCGvKtzZH5ckmN" name="microsoft-copilot-plus-pc" alt="A woman sitting in a chair looking at a Windows 11 laptop" src="https://cdn.mos.cms.futurecdn.net/24UwJgyxKCGvKtzZH5ckmN-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: Microsoft)</span></figcaption></figure><p>Of course, this is a controversial topic. Mention AI being involved in the coding of Windows 11 and some tempers will flare online, even though we know this is happening anyway. <a href="https://www.techradar.com/pro/a-shockingly-high-amount-of-microsoft-code-is-now-written-by-ai-it-admits">Microsoft has made no secret of that fact</a>.</p><p>Indeed, among the AI hate and flames on social media, a lot of people are point out that these days pretty much all software is being developed in conjunction with Large Language Models (LLM agents) — <a href="https://www.techradar.com/pro/linux-founder-linus-torvalds-says-ai-is-a-gateway-drug-into-programming-but-cautions-about-using-ai-for-serious-work">even Linux</a>.</p><p>As one <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkhocl/comment/19rxxqy7srlyc/" target="_blank">Redditor makes clear</a>: "Newsflash — every single piece of software you use, except for open source projects that are making a statement, you should expect to have AI written code in it. It is pervasive, it is everywhere."</p><p>The key aspect here is exactly how the AI agent in question is employed.</p><p>It's one thing for such an agent to be given a task to write a piece of code for a certain feature, and then just to slap that into your software or operating system as it is (or maybe after a cursory glance through the work). It's another thing to have a human programmer working on a feature and using an agent to perform grunt-work (easy but perhaps time-consuming) coding therein — and then to properly check the AI's output.</p><p>Theoretically, there's nothing wrong with the latter approach, at least in terms of the soundness of the coding work. And as Microsoft's Ash points out, this is really accelerating development times — meaning Windows 11 users will get new features (hopefully capabilities they want, like this improved internet speed test) much more swiftly. Which is exactly why almost every developer is now utilizing this tech.</p><p>There are problems here, though, and they're bound up in the public perception of Microsoft. Do Windows 11 users trust the company to be using AI in the right — i.e., properly checked and vetted — way? Not really, in many cases, as there remains a lot of doubt over the overall quality of Windows 11 code, and rightly so given the regularity, and severity, of the bugs we've seen (with more prevalence since 2024, and that 24H2 update).</p><p>As another <a href="https://www.reddit.com/r/pcmasterrace/comments/1xkhocl/comment/19rxzwpa36cir/" target="_blank">Redditor observes</a>: "People aren't calling Windows slop because it's being made using AI these days. They're calling it slop because it's being made using AI with woefully insufficient human oversight and even more woefully insufficient QA, leading to repeated disastrous bugs making it to production and end users being treated as beta testers. You want people to stop calling your product slop? Stop shipping updates that take down people's computers or break existing features."</p><p>The other issue here is that of AI stealing coding jobs from people. Agents may make things happen a lot more quickly, but as Ash notes, this revamped speed test was implemented mainly by an agent — including its design — with the software engineer "guiding the process in their spare time", making it sound like a rather casual amount of effort on the human side of the equation.</p><p>Is it a particularly sensitive approach to be touting the benefits of AI — as real as they may be for an operating system's ongoing development and maintenance — in this way at a time when <a href="https://www.techradar.com/gaming/gaming-industry/xbox-announces-the-most-significant-restructure-in-its-history-and-itll-cause-1-600-painful-job-losses-and-numerous-studio-sales">Microsoft has been swinging the axe</a> with various job cuts and <a href="https://www.techradar.com/pro/microsoft-offers-60-000-workers-voluntary-redundancy-buyout-option-ai-revolution-could-mean-a-quarter-of-its-workforce-can-now-leave">pushing staff towards voluntary redundancy in a big way</a>? I'd suggest it isn't, and the timing of this particular push of the value of agentic AI is dubious in that respect.</p><p>At least in this case Microsoft is being upfront and transparent about what it's doing — and we can expect a good deal more AI acceleration of Windows 11's development going forward.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Jackery's smallest-ever portable power station uses long-lasting LFP batteries ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>The Explorer 100D is a palm-sized 30,000mAh portable power station</strong></li><li><strong>It uses a long-lasting lithium iron phosphate battery</strong></li><li><strong>It has a maximum total output of 158W and supports direct solar input</strong></li></ul><p>Jackery has just launched a new <a href="https://www.techradar.com/best/portable-power-stations">portable power station</a> that combines a high capacity with an impressively small and lightweight design.</p><p>Dubbed the Jackery Explorer 100D, it measures 11.87 x 8.26 x 8.57cm and weighs 850g, which sounds fairly compact when you consider that it has 30,000mAh of power. Indeed, it’s 14% smaller and 12% lighter than the Explorer 100 Plus, making it Jackery's smallest portable power station yet.</p><p>So, while it will certainly add some weight to your bag, it's small enough to carry around in a backpack, so you can keep your devices powered when out and about or on trips. It’s designed to comply with lithium battery transport standards, too, so you can take it on planes and trains, and even though it’s palm-sized, it also includes a built-in handle and supports an optional shoulder strap.</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:1858px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="doEbFsPWwJzzZv5ycb24jG" name="Jackery Explorer 100D press2" alt="The Jackery Explorer 100D" src="https://cdn.mos.cms.futurecdn.net/doEbFsPWwJzzZv5ycb24jG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1858" height="1045" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jackery)</span></figcaption></figure><h2 id="an-lfp-battery-with-solar-support">An LFP battery with solar support</h2><p>The Jackery Explorer 100D also uses a lithium iron phosphate (LFP) battery rather than the more common lithium-ion ones, meaning it’s theoretically both safer and longer-lasting, with Jackery claiming it has an up to 8-year lifespan and will retain at least 80% of its capacity across 3,000 charging cycles.</p><p>It has two 140W USB-C ports and an 18W USB-A port, so you can charge, for example, a laptop, phone, and tablet all at once. That said, it tops out at 158W of combined charging power, so you can’t use all of those ports at full power simultaneously.</p><p>When you need to charge the 100D itself, you can of course plug it in to any outlet, but it also supports up to 100W of direct solar input, making it suited to an off-grid setup.</p><p>So there’s a lot to like here, and while this isn’t the cheapest 30,000mAh power station, it’s reasonably affordable too, coming in at $99 / €99 (roughly £75 / AU$140). It’s not currently available in the UK or Australia, but Jackery does have a presence in both regions, so that might change.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best portable power station deals" data-model-name="EcoFlow DELTA 3 Plus,Bluetti Elite 30 V2,Anker Solix F3800 Portable Power Station,Jackery Explorer 1000 v2,Bluetti AC180T,Jackery Explorer 240D"></div> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/this-new-30-000mah-portable-power-station-uses-a-reliable-lfp-battery-and-fits-in-the-palm-of-your-hand</link>
                                                                            <description>
                            <![CDATA[ The Jackery Explorer 100D combines a compact size and relatively low weight with LFP technology and solar support. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">8kKfAgybVfTQ6wPi37fRAd</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/gucDG7vGFSYxNFj7opGacG-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Mon, 02 Nov 2026 12:30:00 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 12:53:45 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Phones]]></category>
                                                                                                                    <dc:creator><![CDATA[ James Rogerson ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/gucDG7vGFSYxNFj7opGacG-1920-80.jpg">
                                                            <media:credit><![CDATA[Jackery]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[The Jackery Explorer 100D]]></media:description>                                                            <media:text><![CDATA[The Jackery Explorer 100D]]></media:text>
                                <media:title type="plain"><![CDATA[The Jackery Explorer 100D]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/gucDG7vGFSYxNFj7opGacG-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>The Explorer 100D is a palm-sized 30,000mAh portable power station</strong></li><li><strong>It uses a long-lasting lithium iron phosphate battery</strong></li><li><strong>It has a maximum total output of 158W and supports direct solar input</strong></li></ul><p>Jackery has just launched a new <a href="https://www.techradar.com/best/portable-power-stations">portable power station</a> that combines a high capacity with an impressively small and lightweight design.</p><p>Dubbed the Jackery Explorer 100D, it measures 11.87 x 8.26 x 8.57cm and weighs 850g, which sounds fairly compact when you consider that it has 30,000mAh of power. Indeed, it’s 14% smaller and 12% lighter than the Explorer 100 Plus, making it Jackery's smallest portable power station yet.</p><p>So, while it will certainly add some weight to your bag, it's small enough to carry around in a backpack, so you can keep your devices powered when out and about or on trips. It’s designed to comply with lithium battery transport standards, too, so you can take it on planes and trains, and even though it’s palm-sized, it also includes a built-in handle and supports an optional shoulder strap.</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:1858px;"><p class="vanilla-image-block" style="padding-top:56.24%;"><img id="doEbFsPWwJzzZv5ycb24jG" name="Jackery Explorer 100D press2" alt="The Jackery Explorer 100D" src="https://cdn.mos.cms.futurecdn.net/doEbFsPWwJzzZv5ycb24jG-1920-80.jpg" mos="" align="middle" fullscreen="" width="1858" height="1045" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Jackery)</span></figcaption></figure><h2 id="an-lfp-battery-with-solar-support">An LFP battery with solar support</h2><p>The Jackery Explorer 100D also uses a lithium iron phosphate (LFP) battery rather than the more common lithium-ion ones, meaning it’s theoretically both safer and longer-lasting, with Jackery claiming it has an up to 8-year lifespan and will retain at least 80% of its capacity across 3,000 charging cycles.</p><p>It has two 140W USB-C ports and an 18W USB-A port, so you can charge, for example, a laptop, phone, and tablet all at once. That said, it tops out at 158W of combined charging power, so you can’t use all of those ports at full power simultaneously.</p><p>When you need to charge the 100D itself, you can of course plug it in to any outlet, but it also supports up to 100W of direct solar input, making it suited to an off-grid setup.</p><p>So there’s a lot to like here, and while this isn’t the cheapest 30,000mAh power station, it’s reasonably affordable too, coming in at $99 / €99 (roughly £75 / AU$140). It’s not currently available in the UK or Australia, but Jackery does have a presence in both regions, so that might change.</p><div data-widget-type="multimodelreview" data-widget-title="Today's best portable power station deals" data-model-name="EcoFlow DELTA 3 Plus,Bluetti Elite 30 V2,Anker Solix F3800 Portable Power Station,Jackery Explorer 1000 v2,Bluetti AC180T,Jackery Explorer 240D"></div>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ I won’t buy a touchscreen MacBook Pro — here’s why you shouldn’t either ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Earlier this week, Apple did the thing we’ve all known it would for months and finally unveiled its <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">touchscreen MacBook Pro</a>. Awkwardly dubbed the “PROLED XDR Display,” Apple says the touchscreen panel gives pro users “a whole new way to interact with their content.” </p><p>Yet, to say I’m unconvinced would be an understatement. While I’m excited for that OLED goodness, <a href="https://www.techradar.com/computing/m6-macbook-pro-tipped-to-get-touchscreen-oled-redesign-next-year-and-the-idea-is-already-splitting-opinion">I’ve long been skeptical</a> of the benefits of touchscreen laptops, as I find their gesture interactions to be by turns unnecessary and uncomfortable to use for long periods of time. And if something is either so unnecessary that you don’t use it or so uncomfortable that it causes your arms to ache, it probably shouldn’t be in a product. </p><p>But hey, what do I know? Practically every <a href="https://www.techradar.com/news/best-windows-laptop">Windows laptop</a> manufacturer offers at least one touchscreen version, and now Apple has got in on the act. I’m sure Apple will do what it often does and blow everyone else away with a perfected feature that redefines what a touchscreen display should be about … right? </p><p>Actually, scratch that, I’m still totally unconvinced. Because not only has Apple completely sidestepped the entire issue of arm fatigue, but it seems the company can’t even convincingly explain why anyone should buy a touchscreen MacBook in the first place (and let’s not even talk about the $2,899 starting price or the <a href="https://www.apple.com/shop/buy-mac/macbook-pro-proled-xdr/16-inch-space-black-nano-texture-display-apple-m5-max-chip-18-core-cpu-40-core-gpu-128gb-memory-16tb-storage" target="_blank">$14,549 maximum configuration</a>). No, I think I’ll be sitting this one out. Here’s why you might also want to.</p><h2 id="simply-the-best">Simply the best?</h2><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="bopaG8wDSuRT4q38tMQP5X" name="Touchscreen-MacBook-Pro-16-inch-touch-the-screen-5" alt="Apple Touchscreen MacBook Pro HANDS ON" src="https://cdn.mos.cms.futurecdn.net/bopaG8wDSuRT4q38tMQP5X-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: Lance Ulanoff / Future)</span></figcaption></figure><p>If we want to understand why this touchscreen MacBook Pro exists — and maybe why you should buy one — we should look at <a href="https://www.apple.com/newsroom/2026/10/apple-unveils-groundbreaking-macbook-pro-with-proled-xdr-display/" target="_blank">how Apple frames it</a>. The company says that “Graphic designers can now use the entire display as their canvas, no longer constrained by the area of the trackpad when drawing,” and that “musicians can play software instruments right onscreen.”</p><p>But does Apple actually think that doing either of those things is going to be remotely comfortable for more than about 10 seconds? There’s a reason why people play keyboards horizontally, after all: because playing an entire gig with your arms held rigid and outstretched is a quick path to aching limbs. Why would it be any different on a laptop? </p><p>Surely Apple doesn’t picture long-term usage like that, so my guess is it expects you’ll do a few quick taps on-screen and then go back to a normal, sane way of using your laptop. But if you only interact with the touchscreen for a few seconds at a time, is it really worth it? Is that kind of limited interaction good value for money when you’re paying a $400 premium over the regular MacBook Pro? </p><p>Maybe, maybe not, but the fact that Apple’s big, expensive, flagship feature is something many people will simply shrug their shoulders at suggests a failure of inspiration on Apple’s part. </p><p>Yes, you get a beautiful OLED panel as well for your $400, and that I think is easily justified. But <em>every</em> feature in a product you buy should be able to justify its existence, especially in an Apple product and especially in these expensive times. Yet the touchscreen panel just feels like it’s come along for the ride. </p><p>After all, Apple is the company that has reinvented category after category, from portable music players to smartphones to tablets and beyond. And now the best it can do is a feature that isn’t comfortable to use for long periods and that is best employed in short bursts with extended periods of inactivity in between. </p><p>If Apple, of all companies, can’t blow you away with a feature that resets expectations of how the category should work, why is it bothering at all? Apple’s mantra has long been not to be first, but to be best. Does this touchscreen really feel like the best in the industry, or just another addition to the pile?</p><h2 id="an-uninspired-feature">An uninspired feature</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fHzNjN9cDzXCKCEyQsFmXa" name="Apple touchscreen MacBook Pro 3" alt="A person using Apple's PROLED XDR Display on a touchscreen MacBook Pro." src="https://cdn.mos.cms.futurecdn.net/fHzNjN9cDzXCKCEyQsFmXa-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: Apple)</span></figcaption></figure><p>In hands-on demos across the land, plenty of people have said that using the touchscreen MacBook Pro feels great — or <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">“totally and wonderfully natural,”</a> in the words of my colleague Lance Ulanoff — and I don’t doubt that it does. </p><p>But that doesn’t negate Steve Jobs’ criticisms of the idea of touchscreen laptops at all. In his famous critique, Jobs said that “after a short period of time you start to fatigue, and after an extended period of time your arm wants to fall off.” </p><p>I’m sure that Apple has crafted its touchscreen display in such a way that it does indeed feel amazing when you first start using it. A few taps and swipes and you’re probably ready to part with your cash. </p><p>The problem is that, unless I’ve missed something, our arms haven’t evolved in the 16 years since Jobs made that oft-cited pronouncement. Keep using a touchscreen laptop, whether it’s made by Apple or anyone else, and you will eventually start to feel fatigue and pain. </p><p>Given the laws of biology haven’t changed, I was hoping that Apple at least had some sort of killer feature up its sleeve for the touchscreen display. Sadly, I’ve come away disappointed. </p><p>Even John Ternus, Apple’s new CEO, can’t seem to sell it well. When asked by <a href="https://www.wired.com/story/the-inside-story-of-why-apple-finally-brought-a-touch-display-to-the-mac/" target="_blank">Wired</a> why Apple decided to release a touchscreen MacBook, Ternus had this to say: </p><p>“We needed to get to a point where adding touch didn’t make the product lesser in any way. It didn’t make it heavier. It didn’t make it thicker. That came together with the OLED screen, the best display we’ve ever put into a Mac. All of these things, and, oh yeah, it has touch as well.” </p><p><em>“Oh yeah, it has touch as well.” </em></p><p>It feels like that sums up the inclusion of the touchscreen almost too well. Why did Apple include it in the MacBook Pro? “Yeah, I guess we may as well do it.” That’s the way it sounds to me. </p><p>Is that the attitude of a company that leads? Of one that prides itself on inspiration and innovation? Or just one that sees everyone else doing touchscreen laptops and thinks it should probably tag along? </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="moBptJvqYtzX5Lt4qLMtrJ" name="Touchscreen-MacBook-Pro-16-inch-on-desk-fingerpaint" alt="Apple Touchscreen MacBook PROLED XDR analysis" src="https://cdn.mos.cms.futurecdn.net/moBptJvqYtzX5Lt4qLMtrJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Look again at what Ternus said. The time was right to include a touchscreen because Apple could do so without making the MacBook Pro worse. Not the time was right because including a touchscreen would elevate the MacBook Pro to exciting new heights. Just, “hey, what’s the worst that could happen?” </p><p>Apple’s playbook has often been to let others go first and wait until it has the capability to blow everyone else away, not to let others go first and then add their own thing because “I suppose the time is right.” It just screams of passive, unimaginative thinking. Where’s the drive, the passion? The desire to make something “insanely great”? </p><p>Are we really expected to believe that Steve Jobs made the first iPhone a touchscreen product because he wanted the company’s customers to say “oh yeah, it has multi-touch as well”? That designing an Apple device was a checkbox exercise of adding what you could as long as it didn’t make the experience crap? Jobs was famous for his conniptions, and you can bet everything you’ve got he’d have one if that’s how his teams thought. </p><p>And yet here we are, with Apple’s own CEO making the headline feature of his latest MacBook Pro feel like an afterthought that half of the company’s users might not even notice. It boggles the mind. </p><p>Before the PROLED MacBook Pro launched, my colleague Lance Ulanoff pointed out that Steve Jobs often changed his opinions and argued that <a href="https://www.techradar.com/computing/macbooks/it-doesnt-work-steve-jobs-on-why-there-was-never-a-touchscreen-macbook-and-why-i-think-hed-totally-love-whats-coming-next">Jobs would have loved the idea of a touchscreen MacBook Pro</a>. Maybe so, but he would have hated the milquetoast way that Apple has framed it.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-has-left-me-utterly-unconvinced-and-i-believe-steve-jobs-would-hate-the-uninspired-thinking-that-got-us-here</link>
                                                                            <description>
                            <![CDATA[ I’m unconvinced by Apple’s MacBook Pro needs a touchscreen, or that Apple can even justify why it exists. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">u8wUuwpx5FSwe7BdNATFcH</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/9WKuqLJu77JsFC7QBAvGNa-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 01 Nov 2026 18:00:00 +0000</pubDate>                                                                                                                                <updated>Wed, 04 Nov 2026 11:24:46 +0000</updated>
                                                                                                                                            <category><![CDATA[Macbooks]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Laptops]]></category>
                                                                                                <author><![CDATA[ alexblake.techradar@gmail.com (Alex Blake) ]]></author>                    <dc:creator><![CDATA[ Alex Blake ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/gwmVRU4zMGnDYsGVAFvRmL-320-70.png ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Alex Blake has been fooling around with computers since the early 1990s, and since that time he&#039;s learned a thing or two about tech. No more than two things, though. That&#039;s all his brain can hold. As well as TechRadar, Alex writes for iMore, Digital Trends and Creative Bloq, among others. He was previously commissioning editor at MacFormat magazine. That means he mostly covers the world of Apple and its latest products, but also Windows, computer peripherals, mobile apps, and much more beyond. When not writing, you can find him hiking the English countryside and gaming on his PC.&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/9WKuqLJu77JsFC7QBAvGNa-1920-80.jpg">
                                                            <media:credit><![CDATA[Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person using Apple&#039;s PROLED XDR Display on a touchscreen MacBook Pro.]]></media:description>                                                            <media:text><![CDATA[A person using Apple&#039;s PROLED XDR Display on a touchscreen MacBook Pro.]]></media:text>
                                <media:title type="plain"><![CDATA[A person using Apple&#039;s PROLED XDR Display on a touchscreen MacBook Pro.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/9WKuqLJu77JsFC7QBAvGNa-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Earlier this week, Apple did the thing we’ve all known it would for months and finally unveiled its <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">touchscreen MacBook Pro</a>. Awkwardly dubbed the “PROLED XDR Display,” Apple says the touchscreen panel gives pro users “a whole new way to interact with their content.” </p><p>Yet, to say I’m unconvinced would be an understatement. While I’m excited for that OLED goodness, <a href="https://www.techradar.com/computing/m6-macbook-pro-tipped-to-get-touchscreen-oled-redesign-next-year-and-the-idea-is-already-splitting-opinion">I’ve long been skeptical</a> of the benefits of touchscreen laptops, as I find their gesture interactions to be by turns unnecessary and uncomfortable to use for long periods of time. And if something is either so unnecessary that you don’t use it or so uncomfortable that it causes your arms to ache, it probably shouldn’t be in a product. </p><p>But hey, what do I know? Practically every <a href="https://www.techradar.com/news/best-windows-laptop">Windows laptop</a> manufacturer offers at least one touchscreen version, and now Apple has got in on the act. I’m sure Apple will do what it often does and blow everyone else away with a perfected feature that redefines what a touchscreen display should be about … right? </p><p>Actually, scratch that, I’m still totally unconvinced. Because not only has Apple completely sidestepped the entire issue of arm fatigue, but it seems the company can’t even convincingly explain why anyone should buy a touchscreen MacBook in the first place (and let’s not even talk about the $2,899 starting price or the <a href="https://www.apple.com/shop/buy-mac/macbook-pro-proled-xdr/16-inch-space-black-nano-texture-display-apple-m5-max-chip-18-core-cpu-40-core-gpu-128gb-memory-16tb-storage" target="_blank">$14,549 maximum configuration</a>). No, I think I’ll be sitting this one out. Here’s why you might also want to.</p><h2 id="simply-the-best">Simply the best?</h2><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="bopaG8wDSuRT4q38tMQP5X" name="Touchscreen-MacBook-Pro-16-inch-touch-the-screen-5" alt="Apple Touchscreen MacBook Pro HANDS ON" src="https://cdn.mos.cms.futurecdn.net/bopaG8wDSuRT4q38tMQP5X-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: Lance Ulanoff / Future)</span></figcaption></figure><p>If we want to understand why this touchscreen MacBook Pro exists — and maybe why you should buy one — we should look at <a href="https://www.apple.com/newsroom/2026/10/apple-unveils-groundbreaking-macbook-pro-with-proled-xdr-display/" target="_blank">how Apple frames it</a>. The company says that “Graphic designers can now use the entire display as their canvas, no longer constrained by the area of the trackpad when drawing,” and that “musicians can play software instruments right onscreen.”</p><p>But does Apple actually think that doing either of those things is going to be remotely comfortable for more than about 10 seconds? There’s a reason why people play keyboards horizontally, after all: because playing an entire gig with your arms held rigid and outstretched is a quick path to aching limbs. Why would it be any different on a laptop? </p><p>Surely Apple doesn’t picture long-term usage like that, so my guess is it expects you’ll do a few quick taps on-screen and then go back to a normal, sane way of using your laptop. But if you only interact with the touchscreen for a few seconds at a time, is it really worth it? Is that kind of limited interaction good value for money when you’re paying a $400 premium over the regular MacBook Pro? </p><p>Maybe, maybe not, but the fact that Apple’s big, expensive, flagship feature is something many people will simply shrug their shoulders at suggests a failure of inspiration on Apple’s part. </p><p>Yes, you get a beautiful OLED panel as well for your $400, and that I think is easily justified. But <em>every</em> feature in a product you buy should be able to justify its existence, especially in an Apple product and especially in these expensive times. Yet the touchscreen panel just feels like it’s come along for the ride. </p><p>After all, Apple is the company that has reinvented category after category, from portable music players to smartphones to tablets and beyond. And now the best it can do is a feature that isn’t comfortable to use for long periods and that is best employed in short bursts with extended periods of inactivity in between. </p><p>If Apple, of all companies, can’t blow you away with a feature that resets expectations of how the category should work, why is it bothering at all? Apple’s mantra has long been not to be first, but to be best. Does this touchscreen really feel like the best in the industry, or just another addition to the pile?</p><h2 id="an-uninspired-feature">An uninspired feature</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:1920px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="fHzNjN9cDzXCKCEyQsFmXa" name="Apple touchscreen MacBook Pro 3" alt="A person using Apple's PROLED XDR Display on a touchscreen MacBook Pro." src="https://cdn.mos.cms.futurecdn.net/fHzNjN9cDzXCKCEyQsFmXa-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: Apple)</span></figcaption></figure><p>In hands-on demos across the land, plenty of people have said that using the touchscreen MacBook Pro feels great — or <a href="https://www.techradar.com/computing/macbooks/apples-touchscreen-macbook-pro-is-finally-here-and-yes-touching-a-macbook-screen-feels-totally-and-wonderfully-natural">“totally and wonderfully natural,”</a> in the words of my colleague Lance Ulanoff — and I don’t doubt that it does. </p><p>But that doesn’t negate Steve Jobs’ criticisms of the idea of touchscreen laptops at all. In his famous critique, Jobs said that “after a short period of time you start to fatigue, and after an extended period of time your arm wants to fall off.” </p><p>I’m sure that Apple has crafted its touchscreen display in such a way that it does indeed feel amazing when you first start using it. A few taps and swipes and you’re probably ready to part with your cash. </p><p>The problem is that, unless I’ve missed something, our arms haven’t evolved in the 16 years since Jobs made that oft-cited pronouncement. Keep using a touchscreen laptop, whether it’s made by Apple or anyone else, and you will eventually start to feel fatigue and pain. </p><p>Given the laws of biology haven’t changed, I was hoping that Apple at least had some sort of killer feature up its sleeve for the touchscreen display. Sadly, I’ve come away disappointed. </p><p>Even John Ternus, Apple’s new CEO, can’t seem to sell it well. When asked by <a href="https://www.wired.com/story/the-inside-story-of-why-apple-finally-brought-a-touch-display-to-the-mac/" target="_blank">Wired</a> why Apple decided to release a touchscreen MacBook, Ternus had this to say: </p><p>“We needed to get to a point where adding touch didn’t make the product lesser in any way. It didn’t make it heavier. It didn’t make it thicker. That came together with the OLED screen, the best display we’ve ever put into a Mac. All of these things, and, oh yeah, it has touch as well.” </p><p><em>“Oh yeah, it has touch as well.” </em></p><p>It feels like that sums up the inclusion of the touchscreen almost too well. Why did Apple include it in the MacBook Pro? “Yeah, I guess we may as well do it.” That’s the way it sounds to me. </p><p>Is that the attitude of a company that leads? Of one that prides itself on inspiration and innovation? Or just one that sees everyone else doing touchscreen laptops and thinks it should probably tag along? </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="moBptJvqYtzX5Lt4qLMtrJ" name="Touchscreen-MacBook-Pro-16-inch-on-desk-fingerpaint" alt="Apple Touchscreen MacBook PROLED XDR analysis" src="https://cdn.mos.cms.futurecdn.net/moBptJvqYtzX5Lt4qLMtrJ-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: Lance Ulanoff / Future)</span></figcaption></figure><p>Look again at what Ternus said. The time was right to include a touchscreen because Apple could do so without making the MacBook Pro worse. Not the time was right because including a touchscreen would elevate the MacBook Pro to exciting new heights. Just, “hey, what’s the worst that could happen?” </p><p>Apple’s playbook has often been to let others go first and wait until it has the capability to blow everyone else away, not to let others go first and then add their own thing because “I suppose the time is right.” It just screams of passive, unimaginative thinking. Where’s the drive, the passion? The desire to make something “insanely great”? </p><p>Are we really expected to believe that Steve Jobs made the first iPhone a touchscreen product because he wanted the company’s customers to say “oh yeah, it has multi-touch as well”? That designing an Apple device was a checkbox exercise of adding what you could as long as it didn’t make the experience crap? Jobs was famous for his conniptions, and you can bet everything you’ve got he’d have one if that’s how his teams thought. </p><p>And yet here we are, with Apple’s own CEO making the headline feature of his latest MacBook Pro feel like an afterthought that half of the company’s users might not even notice. It boggles the mind. </p><p>Before the PROLED MacBook Pro launched, my colleague Lance Ulanoff pointed out that Steve Jobs often changed his opinions and argued that <a href="https://www.techradar.com/computing/macbooks/it-doesnt-work-steve-jobs-on-why-there-was-never-a-touchscreen-macbook-and-why-i-think-hed-totally-love-whats-coming-next">Jobs would have loved the idea of a touchscreen MacBook Pro</a>. Maybe so, but he would have hated the milquetoast way that Apple has framed it.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ One year after new EU repairability rules came into force, are our smartphones and laptops actually getting easier to repair? Here's what I found out ]]></title>
                                                                                                <dc:content><![CDATA[ <p>Making it easier to repair an old smartphone or laptop, rather than buying a new one, has long been a goal of tech enthusiasts, and the EU took a big step towards making that a reality in June 2025 with the introduction of its <a href="https://energy-efficient-products.ec.europa.eu/product-list/smartphones-and-tablets_en" target="_blank" rel="nofollow">"Ecodesign" requirements</a>. </p><p>The European Commission's rules require manufacturers of smartphones and certain tablets to meet new obligations covering spare parts, repair information, and the fundamental design of their devices. Laptops aren't covered by these particular rules, although other EU regulations apply to them.</p><p>More than a year later, there are some real signs of improvement – but also lingering questions about the difficulty and cost of repairs.</p><p>So, how much has actually changed? Are smartphones easier to repair, and are laptops heading in the same direction? To make sense of the EU's repairability push, TechRadar spoke to three experts.</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="tSH3FSnPAhJk9xDgDxUvF9" name="iPhone-repair-shutterstock_2341166825.jpg" alt="iPhone repair" src="https://cdn.mos.cms.futurecdn.net/tSH3FSnPAhJk9xDgDxUvF9-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: Shutterstock)</span></figcaption></figure><h2 id="europe-39-s-repair-revolution">Europe's repair revolution</h2><p>The EU's rules stop short of mandating anything too drastic. Apple does not have to make the iPhone a 10/10 on iFixit's repairability scale, or turn it into something resembling a Fairphone.</p><p>Instead, much of the focus is on spare parts: manufacturers must make specified replacement components, including screens and batteries, available for at least seven years after a model stops being available on the EU market.</p><p>Manufacturers must also deliver parts within five working days for the first five years, rising to 10 days for the remaining two, while providing repair documentation and access to necessary software tools. </p><p>Batteries must meet minimum durability standards, too.</p><p>For consumers, perhaps the most visible change is an A–E repairability rating on the EU's new energy labels, based on factors such as disassembly difficulty and replacement parts.</p><p>The EU has also introduced a separate <a href="https://www.techradar.com/audio/you-can-literally-fix-anything-if-you-watch-enough-youtube-i-met-with-tech-repair-experts-and-campaigners-to-learn-how-to-fix-my-broken-gadgets-and-why-its-so-important">Right to Repair Directive</a>, which member states had to implement by July 2026, adding protections for certain products, although laptops aren't yet covered. </p><p>The changes could have implications beyond Europe, too. "The regulation clearly influenced products sold outside Europe, because few vendors engineer a separate phone for one region," says IDC's Francisco Jeronimo.</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="JFdSpRwaJXK22kQpE8xRdJ" name="The Fairphone (Gen 6)" alt="The Fairphone (Gen 6)" src="https://cdn.mos.cms.futurecdn.net/JFdSpRwaJXK22kQpE8xRdJ-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: Peter Hoffmann)</span></figcaption></figure><h2 id="cracking-the-repair-problem">Cracking the repair problem</h2><p>In June 2026, the European Consumer Organisation (BEUC) <a href="https://www.beuc.eu/reports/repairing-the-market" target="_blank" rel="nofollow">carried out an investigation</a> into the availability of spare parts and repair instructions across Europe, comparing smartphones with battery-powered vacuum cleaners.</p><p>"The new Ecodesign rules for smartphones have improved consumers’ access to spare parts and repair instructions," says Silvia Barlassina, the group's ecodesign project coordinator. "However, as the rules have been in force for only a year and a half, it is too early to assess whether they have led to an increase in consumer repairs."</p><p>Of course, getting hold of replacement parts is only half the battle. Thomas Opsomer, an EU policy specialist at repair advocacy group iFixit, is less convinced that the rules have changed how smartphones are actually repaired.</p><p>"As a result, the regulation did not really change the current mainstream smartphone design, which is one that requires heating to release the screen adhesive in order to get access to the inside of the phone for any type of repair – a procedure that is quite daunting to most users."</p><p>A recent <a href="https://www.ifixit.com/News/119329/inside-the-tiny-unfixable-eye-iphone-18-pro-and-pro-max-teardown" target="_blank" rel="nofollow">iFixit teardown</a> of the <a href="https://www.techradar.com/phones/iphone/iphone-18-pro-vs-iphone-17-pro-5-key-differences-between-apples-best-smartphones">iPhone 18 Pro</a> shows that, despite a screwed-in battery tray and modular cameras, accessing the battery still requires removing the glued-down display. </p><p>In fact, iFixit says it damaged the plastic display frame in three of the four phones it opened, although it cautioned that further testing was needed to establish whether this was a widespread problem.</p><p>Physical repairs aren't the only problem. In a separate <a href="https://repair.eu/news/one-year-into-eu-ecodesign-rules-80-of-smartphones-still-lack-required-repair-information/" target="_blank" rel="nofollow">September 2026 investigation</a>, Right to Repair Europe and iFixit examined 2,334 smartphone-model records in the EU's official product database, finding widespread gaps in the availability of repair instructions and spare-part prices.</p><p>"We found 80% of models on the market to be non-compliant, which is not the same as 80% of units sold," says Opsomer. "We have seen dramatic improvements in the availability of instructions for self-repair from the leading manufacturers, who were previously quite reluctant to share those."</p><p>Many of the shortcomings are instead concentrated among cheaper, lesser-known smartphone brands, Opsomer adds, potentially leaving budget-conscious consumers particularly exposed.</p><p>There has also been progress on parts pairing, the software checks that can restrict the use of replacement components. Manufacturers such as Apple must now allow users and independent repairers to restore the functionality of replacement parts, "removing a significant barrier to self-repair and independent repair," says Opsomer.</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="WAu32NLwWn9E6ZeXD6ckA9" name="Apple Self Service Repair 2.jpg" alt="A person fixes an iPhone using one of Apple's Self Service Repair kits on a blue desk mat." src="https://cdn.mos.cms.futurecdn.net/WAu32NLwWn9E6ZeXD6ckA9-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: Apple)</span></figcaption></figure><h2 id="the-400-question">The €400 question </h2><p>New smartphones are expensive – and prices are being <a href="https://www.techradar.com/phones/iphone/iphone-price-hikes-heres-the-full-list-of-every-price-increase-from-the-iphone-18-pro-to-a-21-percent-rise-for-one-iphone-air-model">pushed even higher</a> as demand from AI data centres drives up the cost of components like memory chips, even for giants like Apple. </p><p>With replacement parts becoming easier to find, you might expect repairing a smartphone to be substantially cheaper than buying a new one. Unfortunately, the reality isn't quite so straightforward.</p><p>"For one high end device we examined in our recent market check, the cost of replacing the display exceeds €400," says Barlassina. "When compared to the average original retail price of the device, this represents roughly 30% of the total cost."</p><p>Research cited in the European Commission's <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:52023SC0059" target="_blank" rel="nofollow">impact assessment</a> suggests consumers are typically willing to spend around 20% of a product's purchase price on repairs. Damningly, BEUC's €400-plus figure, meanwhile, only covers the replacement component, before labour and other expenses.</p><p>The EU's new A–E repairability labels account for factors like disassembly difficulty and the tools required, but crucially not the cost of replacement parts or repair services. This, Barlassina says, "can give an incomplete picture to consumers."</p><p>The cost of fixing individual devices illustrates the problem. Samsung's <a href="https://www.samsung.com/ie/support/mobile-devices/how-much-will-it-cost-to-repair-my-phone-screen/" target="_blank" rel="nofollow">Irish repair pricing page</a> lists a recommended €267 for an out-of-warranty screen repair on the Galaxy S26 Ultra, including a replacement battery, although additional work could increase the charge.</p><p>Meanwhile, Fairphone's replacement display for the <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6</a> costs just €89.95, while a replacement battery costs €39.95. Both are parts-only prices, with Fairphone designing them to be replaced at home.</p><p>"The economics of repair are key," says Opsomer. "When their phone breaks, users consciously or unconsciously make a tradeoff between the repair costs and the perceived residual value of their phone, which is lowered by incessant messaging extolling the virtues of the latest and greatest model."</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="DJwjba3wymB4Bq9qJrvCqC" name="self repair samsung 1.jpg" alt="Galaxy Book Pro laptop on Samsung Self Repair program" src="https://cdn.mos.cms.futurecdn.net/DJwjba3wymB4Bq9qJrvCqC-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: Samsung)</span></figcaption></figure><h2 id="laptops-are-opening-up">Laptops are opening up</h2><p>Laptops weren't covered by the EU's June 2025 smartphone Ecodesign rules, but some manufacturers have made substantial improvements anyway.</p><p>Notably, iFixit gave the Lenovo ThinkPad T14 Gen 7 a <a href="https://www.ifixit.com/News/115827/new-thinkpads-score-perfect-10-repairability" target="_blank" rel="nofollow">provisional 10/10 repairability score</a>, praising its accessible battery, replaceable USB-C ports, keyboard, RAM, and storage. iFixit had also consulted with Lenovo on its design.</p><p>Even Apple is leaning into repairability with the <a href="https://www.techradar.com/computing/macbooks/macbook-neo-vs-macbook-air-m5-how-do-they-compare-and-which-should-you-buy">MacBook Neo</a>, which got a 6/10 score <a href="https://www.ifixit.com/News/116152/macbook-neo-is-the-most-repairable-macbook-in-14-years" target="_blank" rel="nofollow">from iFixit</a>, the highest MacBook score in around 14 years. The Neo uses a screwed-in battery rather than a glued-down one, although its RAM and storage remain soldered.</p><p>But are these examples part of an industry-wide shift, or still the exceptions?</p><p>"We see a shift towards repairability in smartphones and laptops, but not to the extent that I would call it a broader industry shift," says Jeronimo. "There are clear signs of movement, and Apple and Lenovo are two good examples."</p><p>There's a commercial argument for repairability, too. Jeronimo points out that consumers paying more for their devices increasingly expect them to last longer, giving manufacturers another reason to make repairs easier.</p><p>"A repairable device tends to hold its value for longer, which means a higher residual value when the consumer trades it in for a new one," he says. </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="pcd4jDEWSpCCgfq4KKChgX" name="iFixit AirPods 5 teardown 2" alt="An iFixit teardown of the Apple AirPods 5 earphones." src="https://cdn.mos.cms.futurecdn.net/pcd4jDEWSpCCgfq4KKChgX-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: iFixit)</span></figcaption></figure><h2 id="still-some-fixing-to-do">Still some fixing to do</h2><p>More replacement parts and better repair manuals are all well and good, but are consumers actually making repairability a priority?</p><p>According to IDC's research, consumers are now keeping smartphones for around 3.5 to 4.5 years on average. </p><p>"Consumers are keeping phones longer, but repairability is not what drives it," says Jeronimo. "In a 2025 IDC consumer survey, battery life, connectivity, price and build quality ranked highest among the purchase criteria."</p><p>Governments are also looking at ways to make repairs more attractive. Under the EU's Right to Repair Directive, member states must introduce at least one measure encouraging repairs, potentially including financial incentives such as repair vouchers.</p><p>Member states have until July 2029 to notify the Commission of the measures they've taken, although they can introduce them sooner. "Among these options, financial incentives would be by far the most effective," says Opsomer.</p><p>More than a year after the EU's repairability rules came into force, things are slowly improving. Enthusiasts who want to keep their smartphones and laptops forever – or at least several more years – have more options than before. </p><p>The challenge now is making repair a realistic choice for everyone else.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/phones/a-year-after-europes-repairability-rules-came-in-are-smartphones-and-laptops-actually-getting-easier-to-repair</link>
                                                                            <description>
                            <![CDATA[ More than a year after the EU's repairability rules came in, there are some real signs of improvement – but also lingering questions about the difficulty and cost of repairs. We speak to three experts to find out what has changed. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">PH3xzFs7JAZjaw4hTVya4e</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zVUamqc9mqc7D7JNuSY3y8-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sun, 01 Nov 2026 12:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 09:31:19 +0000</updated>
                                                                                                                                            <category><![CDATA[Phones]]></category>
                                                    <category><![CDATA[Tech]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Max Slater-Robins ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zVUamqc9mqc7D7JNuSY3y8-1920-80.jpg">
                                                            <media:credit><![CDATA[Apple]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A person fixes a MacBook using one of Apple&#039;s Self Service Repair kits on a blue desk mat.]]></media:description>                                                            <media:text><![CDATA[A person fixes a MacBook using one of Apple&#039;s Self Service Repair kits on a blue desk mat.]]></media:text>
                                <media:title type="plain"><![CDATA[A person fixes a MacBook using one of Apple&#039;s Self Service Repair kits on a blue desk mat.]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zVUamqc9mqc7D7JNuSY3y8-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>Making it easier to repair an old smartphone or laptop, rather than buying a new one, has long been a goal of tech enthusiasts, and the EU took a big step towards making that a reality in June 2025 with the introduction of its <a href="https://energy-efficient-products.ec.europa.eu/product-list/smartphones-and-tablets_en" target="_blank" rel="nofollow">"Ecodesign" requirements</a>. </p><p>The European Commission's rules require manufacturers of smartphones and certain tablets to meet new obligations covering spare parts, repair information, and the fundamental design of their devices. Laptops aren't covered by these particular rules, although other EU regulations apply to them.</p><p>More than a year later, there are some real signs of improvement – but also lingering questions about the difficulty and cost of repairs.</p><p>So, how much has actually changed? Are smartphones easier to repair, and are laptops heading in the same direction? To make sense of the EU's repairability push, TechRadar spoke to three experts.</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="tSH3FSnPAhJk9xDgDxUvF9" name="iPhone-repair-shutterstock_2341166825.jpg" alt="iPhone repair" src="https://cdn.mos.cms.futurecdn.net/tSH3FSnPAhJk9xDgDxUvF9-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: Shutterstock)</span></figcaption></figure><h2 id="europe-39-s-repair-revolution">Europe's repair revolution</h2><p>The EU's rules stop short of mandating anything too drastic. Apple does not have to make the iPhone a 10/10 on iFixit's repairability scale, or turn it into something resembling a Fairphone.</p><p>Instead, much of the focus is on spare parts: manufacturers must make specified replacement components, including screens and batteries, available for at least seven years after a model stops being available on the EU market.</p><p>Manufacturers must also deliver parts within five working days for the first five years, rising to 10 days for the remaining two, while providing repair documentation and access to necessary software tools. </p><p>Batteries must meet minimum durability standards, too.</p><p>For consumers, perhaps the most visible change is an A–E repairability rating on the EU's new energy labels, based on factors such as disassembly difficulty and replacement parts.</p><p>The EU has also introduced a separate <a href="https://www.techradar.com/audio/you-can-literally-fix-anything-if-you-watch-enough-youtube-i-met-with-tech-repair-experts-and-campaigners-to-learn-how-to-fix-my-broken-gadgets-and-why-its-so-important">Right to Repair Directive</a>, which member states had to implement by July 2026, adding protections for certain products, although laptops aren't yet covered. </p><p>The changes could have implications beyond Europe, too. "The regulation clearly influenced products sold outside Europe, because few vendors engineer a separate phone for one region," says IDC's Francisco Jeronimo.</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="JFdSpRwaJXK22kQpE8xRdJ" name="The Fairphone (Gen 6)" alt="The Fairphone (Gen 6)" src="https://cdn.mos.cms.futurecdn.net/JFdSpRwaJXK22kQpE8xRdJ-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: Peter Hoffmann)</span></figcaption></figure><h2 id="cracking-the-repair-problem">Cracking the repair problem</h2><p>In June 2026, the European Consumer Organisation (BEUC) <a href="https://www.beuc.eu/reports/repairing-the-market" target="_blank" rel="nofollow">carried out an investigation</a> into the availability of spare parts and repair instructions across Europe, comparing smartphones with battery-powered vacuum cleaners.</p><p>"The new Ecodesign rules for smartphones have improved consumers’ access to spare parts and repair instructions," says Silvia Barlassina, the group's ecodesign project coordinator. "However, as the rules have been in force for only a year and a half, it is too early to assess whether they have led to an increase in consumer repairs."</p><p>Of course, getting hold of replacement parts is only half the battle. Thomas Opsomer, an EU policy specialist at repair advocacy group iFixit, is less convinced that the rules have changed how smartphones are actually repaired.</p><p>"As a result, the regulation did not really change the current mainstream smartphone design, which is one that requires heating to release the screen adhesive in order to get access to the inside of the phone for any type of repair – a procedure that is quite daunting to most users."</p><p>A recent <a href="https://www.ifixit.com/News/119329/inside-the-tiny-unfixable-eye-iphone-18-pro-and-pro-max-teardown" target="_blank" rel="nofollow">iFixit teardown</a> of the <a href="https://www.techradar.com/phones/iphone/iphone-18-pro-vs-iphone-17-pro-5-key-differences-between-apples-best-smartphones">iPhone 18 Pro</a> shows that, despite a screwed-in battery tray and modular cameras, accessing the battery still requires removing the glued-down display. </p><p>In fact, iFixit says it damaged the plastic display frame in three of the four phones it opened, although it cautioned that further testing was needed to establish whether this was a widespread problem.</p><p>Physical repairs aren't the only problem. In a separate <a href="https://repair.eu/news/one-year-into-eu-ecodesign-rules-80-of-smartphones-still-lack-required-repair-information/" target="_blank" rel="nofollow">September 2026 investigation</a>, Right to Repair Europe and iFixit examined 2,334 smartphone-model records in the EU's official product database, finding widespread gaps in the availability of repair instructions and spare-part prices.</p><p>"We found 80% of models on the market to be non-compliant, which is not the same as 80% of units sold," says Opsomer. "We have seen dramatic improvements in the availability of instructions for self-repair from the leading manufacturers, who were previously quite reluctant to share those."</p><p>Many of the shortcomings are instead concentrated among cheaper, lesser-known smartphone brands, Opsomer adds, potentially leaving budget-conscious consumers particularly exposed.</p><p>There has also been progress on parts pairing, the software checks that can restrict the use of replacement components. Manufacturers such as Apple must now allow users and independent repairers to restore the functionality of replacement parts, "removing a significant barrier to self-repair and independent repair," says Opsomer.</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="WAu32NLwWn9E6ZeXD6ckA9" name="Apple Self Service Repair 2.jpg" alt="A person fixes an iPhone using one of Apple's Self Service Repair kits on a blue desk mat." src="https://cdn.mos.cms.futurecdn.net/WAu32NLwWn9E6ZeXD6ckA9-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: Apple)</span></figcaption></figure><h2 id="the-400-question">The €400 question </h2><p>New smartphones are expensive – and prices are being <a href="https://www.techradar.com/phones/iphone/iphone-price-hikes-heres-the-full-list-of-every-price-increase-from-the-iphone-18-pro-to-a-21-percent-rise-for-one-iphone-air-model">pushed even higher</a> as demand from AI data centres drives up the cost of components like memory chips, even for giants like Apple. </p><p>With replacement parts becoming easier to find, you might expect repairing a smartphone to be substantially cheaper than buying a new one. Unfortunately, the reality isn't quite so straightforward.</p><p>"For one high end device we examined in our recent market check, the cost of replacing the display exceeds €400," says Barlassina. "When compared to the average original retail price of the device, this represents roughly 30% of the total cost."</p><p>Research cited in the European Commission's <a href="https://eur-lex.europa.eu/legal-content/EN/TXT/?uri=CELEX:52023SC0059" target="_blank" rel="nofollow">impact assessment</a> suggests consumers are typically willing to spend around 20% of a product's purchase price on repairs. Damningly, BEUC's €400-plus figure, meanwhile, only covers the replacement component, before labour and other expenses.</p><p>The EU's new A–E repairability labels account for factors like disassembly difficulty and the tools required, but crucially not the cost of replacement parts or repair services. This, Barlassina says, "can give an incomplete picture to consumers."</p><p>The cost of fixing individual devices illustrates the problem. Samsung's <a href="https://www.samsung.com/ie/support/mobile-devices/how-much-will-it-cost-to-repair-my-phone-screen/" target="_blank" rel="nofollow">Irish repair pricing page</a> lists a recommended €267 for an out-of-warranty screen repair on the Galaxy S26 Ultra, including a replacement battery, although additional work could increase the charge.</p><p>Meanwhile, Fairphone's replacement display for the <a href="https://www.techradar.com/phones/fairphone-6-plus-review">Fairphone 6</a> costs just €89.95, while a replacement battery costs €39.95. Both are parts-only prices, with Fairphone designing them to be replaced at home.</p><p>"The economics of repair are key," says Opsomer. "When their phone breaks, users consciously or unconsciously make a tradeoff between the repair costs and the perceived residual value of their phone, which is lowered by incessant messaging extolling the virtues of the latest and greatest model."</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="DJwjba3wymB4Bq9qJrvCqC" name="self repair samsung 1.jpg" alt="Galaxy Book Pro laptop on Samsung Self Repair program" src="https://cdn.mos.cms.futurecdn.net/DJwjba3wymB4Bq9qJrvCqC-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: Samsung)</span></figcaption></figure><h2 id="laptops-are-opening-up">Laptops are opening up</h2><p>Laptops weren't covered by the EU's June 2025 smartphone Ecodesign rules, but some manufacturers have made substantial improvements anyway.</p><p>Notably, iFixit gave the Lenovo ThinkPad T14 Gen 7 a <a href="https://www.ifixit.com/News/115827/new-thinkpads-score-perfect-10-repairability" target="_blank" rel="nofollow">provisional 10/10 repairability score</a>, praising its accessible battery, replaceable USB-C ports, keyboard, RAM, and storage. iFixit had also consulted with Lenovo on its design.</p><p>Even Apple is leaning into repairability with the <a href="https://www.techradar.com/computing/macbooks/macbook-neo-vs-macbook-air-m5-how-do-they-compare-and-which-should-you-buy">MacBook Neo</a>, which got a 6/10 score <a href="https://www.ifixit.com/News/116152/macbook-neo-is-the-most-repairable-macbook-in-14-years" target="_blank" rel="nofollow">from iFixit</a>, the highest MacBook score in around 14 years. The Neo uses a screwed-in battery rather than a glued-down one, although its RAM and storage remain soldered.</p><p>But are these examples part of an industry-wide shift, or still the exceptions?</p><p>"We see a shift towards repairability in smartphones and laptops, but not to the extent that I would call it a broader industry shift," says Jeronimo. "There are clear signs of movement, and Apple and Lenovo are two good examples."</p><p>There's a commercial argument for repairability, too. Jeronimo points out that consumers paying more for their devices increasingly expect them to last longer, giving manufacturers another reason to make repairs easier.</p><p>"A repairable device tends to hold its value for longer, which means a higher residual value when the consumer trades it in for a new one," he says. </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="pcd4jDEWSpCCgfq4KKChgX" name="iFixit AirPods 5 teardown 2" alt="An iFixit teardown of the Apple AirPods 5 earphones." src="https://cdn.mos.cms.futurecdn.net/pcd4jDEWSpCCgfq4KKChgX-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: iFixit)</span></figcaption></figure><h2 id="still-some-fixing-to-do">Still some fixing to do</h2><p>More replacement parts and better repair manuals are all well and good, but are consumers actually making repairability a priority?</p><p>According to IDC's research, consumers are now keeping smartphones for around 3.5 to 4.5 years on average. </p><p>"Consumers are keeping phones longer, but repairability is not what drives it," says Jeronimo. "In a 2025 IDC consumer survey, battery life, connectivity, price and build quality ranked highest among the purchase criteria."</p><p>Governments are also looking at ways to make repairs more attractive. Under the EU's Right to Repair Directive, member states must introduce at least one measure encouraging repairs, potentially including financial incentives such as repair vouchers.</p><p>Member states have until July 2029 to notify the Commission of the measures they've taken, although they can introduce them sooner. "Among these options, financial incentives would be by far the most effective," says Opsomer.</p><p>More than a year after the EU's repairability rules came into force, things are slowly improving. Enthusiasts who want to keep their smartphones and laptops forever – or at least several more years – have more options than before. </p><p>The challenge now is making repair a realistic choice for everyone else.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The RAM crisis feels relentless, but Black Friday could come to your rescue ]]></title>
                                                                                                <dc:content><![CDATA[ <p>The RAM crisis has grown even more limbs during the month of October. If the memory shortage was incarnated in physical form, it'd have more legs than a spider at this point, and be a multi-limbed monstrosity with a bite that's getting nastier by the day as more negative news seems to roll in at a frightening pace.</p><p>Just this week, we've witnessed SK Hynix predicting that RAM supply woes are <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">going nowhere and will persist through to 2030</a>, after <a href="https://www.techradar.com/computing/memory/analysts-forecast-chinese-ram-surge-through-2028-but-its-not-likely-to-help-the-average-consumer-as-dell-ceo-warns-the-memory-crisis-could-last-until-2030">Dell's CEO recently warned</a> that we're stuck with this crisis until the end of the decade, and <a href="https://www.techradar.com/computing/memory/ram-is-getting-pricier-than-ever-with-ddr4-up-24-percent-in-the-last-quarter-and-intels-ceo-has-reportedly-said-we-have-another-2-to-3-years-of-this">Intel's chief exec agreed</a> – on top of <a href="https://www.techradar.com/computing/memory/ram-to-see-meaningful-price-increases-before-2026-is-out-as-the-memory-crisis-is-predicted-to-last-at-least-another-3-years">other similar forecasts from earlier this month</a>.</p><p>The latest nugget of doom is from Samsung, with the memory chip maker giving out similar vibes to its rival SK Hynix when reporting its financial results (as <a href="https://wccftech.com/samsung-memory-shortages-worse-in-2027-supply-constraints-persist-into-2028/" target="_blank">Wccftech spotted</a>), informing us that RAM shortages will get worse next year, and supply will remain thin on the ground in 2028, too.</p><p>You can barely catch a breath between the various dire predictions during the past month. Naturally, in the face of such grimness, it's human nature to try to look on the bright side, or in this case, at least attempt to find a glimmer of light shining through from somewhere. There must be something, right?</p><p>Well, there is: Black Friday. An event with a distinctly gloomy name, ironically, but I'm increasingly of the opinion that this is going to be a very important sales season from the computing and PC point of view (and likely other tech, too). Mainly because I expect that the deals you'll get this year will likely be the best prices to be had in a long while, and possibly this entire decade, if those 'it's here until 2030' voices are correct in their assertions about the RAM crisis.</p><p>But I hear you (possibly) cry: given all these price hikes, isn't Black Friday going to be a wash anyway? At least based on what we saw with Amazon's <a href="https://www.techradar.com/news/live/the-best-prime-day-tech-deals-from-day-one-2026">recent Prime Day sales</a>? And yes, that's a fair point. You should manage your expectations with the discounts that'll be on offer, certainly, and don't expect to snag a bargain on RAM sticks or that beefy SSD you've been dreaming about. That just isn't happening (to no one's surprise).</p><p>However, on Prime Day, there were some decent deals to be had, for example on GPUs. Notably on the RTX 5080, where if you grabbed the <a href="https://www.techradar.com/computing/computing-components/the-best-amazon-prime-day-ssd-ram-and-gpu-deals-are-more-sad-than-exciting-the-prices-compared-to-last-year-show-how-bad-things-have-got-but-there-is-some-gpu-goodness-here">deal I highlighted back then</a>, you saved yourself 20% (£300) compared to the price of the cheapest model of that Nvidia GPU on Amazon now (at the time of writing).</p><p>So, given that, what should you be looking at buying this Black Friday, which is less than a month away now (<a href="https://www.techradar.com/seasonal-sales/currys-launches-its-black-friday-sale-early-with-up-to-40-percent-off-tech-ive-picked-the-14-best-deals-worth-buying-now">with early offers starting already</a>)? Well, the best deals will likely be in the products set to be more affected by the memory shortage as time rolls on, and I'm going to highlight what I believe are a few key areas bargain hunters should focus on when it comes to the PC sphere.</p><h2 id="graphics-cards">Graphics cards</h2><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="V7gwURqLTtHrE5AzuZBSQS" name="ports" alt="An Nvidia GeForce RTX 5070" src="https://cdn.mos.cms.futurecdn.net/V7gwURqLTtHrE5AzuZBSQS-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 / John Loeffler)</span></figcaption></figure><p>I'm putting this one front and center because I believe this should be a priority for PC owners who are looking at a <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">GPU upgrade</a> at some point in the not-too-distant-future. As I already mentioned, there were some decent graphics card deals on Prime Day earlier this month – albeit when it comes to the higher-end GPUs, the word 'decent' translates to 'not inflated', which isn't <em>quite</em> the same thing.</p><p>Still, the problem is that prices are likely to rise a good deal more next year, and if you do need a higher-end GPU in particular, during 2027 I think there's a good chance pricing will get a <em>lot</em> worse. Meaning that what you'll pay on Black Friday, with the odd scattered deal on the likes of an Nvidia RTX 5070 model or AMD RX 9070 XT – and maybe even an RTX 5080 – will be a <em>relative</em> bargain (maybe for quite some time to come).</p><p>I think this is especially true given the <a href="https://www.techradar.com/computing/gpu/are-we-seeing-the-first-signs-of-nvidia-abandoning-pc-gamers-as-the-rtx-5090-seemingly-disappears-from-shelves-im-getting-more-worried-about-geforce-gpus">rumors around the RTX 5090 being discontinued</a> (Nvidia has insisted it isn't, but even so, something's clearly amiss with the flagship GPU somewhere), and the ridiculous inflation the RTX 5080 has seen over the past month. All of this indicates a rocky picture with Nvidia's GPUs, and with memory (VRAM) difficulties set to worsen next year – and AMD also <a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">rumored to be implementing price hikes</a> with Radeon graphics cards – my advice is to get in ahead of wider GPU price spikes next year.</p><p>The catch is that Black Friday deals on graphics cards could be thin on the ground, but we may actually get some decent price cuts in the mid-to-lower-end of GPU territory.</p><h2 id="gaming-laptops">Gaming laptops</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7360px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="p5zNuZEeaxuE3c3oBF2e24" name="GettyImages-671014610.jpg" alt="Canva" src="https://cdn.mos.cms.futurecdn.net/p5zNuZEeaxuE3c3oBF2e24-1920-80.jpg" mos="" align="middle" fullscreen="" width="7360" height="4140" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Canva)</span></figcaption></figure><p>If you're thinking about buying a <a href="https://www.techradar.com/news/mobile-computing/laptops/best-gaming-laptops-top-5-gaming-notebooks-reviewed-1258471">gaming laptop</a>, I think there's scope for some good deals on Black Friday – traditionally laptop discounts are plentiful among the massed ranks of portables, and gaming devices have more headroom for cuts, too.</p><p>What you need to consider here is that serious gaming laptops run with a discrete GPU, and as noted above, graphics card price increases are very much on the table. Indeed, this is already happening, and XMG is pushing up prices for its top-end gaming laptops with the RTX 5090 in a major way, while promising that "<a href="https://www.techradar.com/computing/gpu/nvidias-rtx-5090-stock-is-looking-shakier-by-the-day-as-more-rumors-suggest-this-gpu-is-in-vanishingly-short-supply-and-its-set-to-become-even-pricier">other laptop GPUs are also facing supply constraints</a>." Further price rises are coming, then, and with RAM getting more costly next year too,  we can expect some painful hikes.</p><p>As a result, I'd be inclined to keep a careful watch on what Black Friday presents in the way of gaming laptop price cuts, and move sooner rather than later if at all possible.</p><h2 id="laptops">Laptops</h2><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="uxfkutoiVDzgAzzNHD8q5E" name="laptop user.jpg" alt="Person using a laptop in a coffeeshop" src="https://cdn.mos.cms.futurecdn.net/uxfkutoiVDzgAzzNHD8q5E-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: Shutterstock)</span></figcaption></figure><p>Outside of the gaming arena, <a href="https://www.techradar.com/news/mobile-computing/laptops/best-laptops-1304361">everyday laptops</a> are another area where I'd seriously think about trying to nab a Black Friday bargain. As mentioned, there are usually a lot of laptop deals – we highlight the top offers at TechRadar, of course, and notebooks represent quite a number of the bargains we pick out – and while there may not be so many this year, expect them to be there.</p><p>With the rising tide of RAM prices and the worsening of the crisis next year, it seems inevitable that this will jack up the asking prices of all laptops (and especially gaming laptops, as noted, due to the extra pressure added by the video RAM of discrete GPUs).</p><p>Analyst firms are already predicting that laptop manufacturers are soon going to ramp up pricing as they run short of stockpiled components (purchased at a cheaper cost). <a href="https://www.techradar.com/computing/laptops/should-you-buy-a-laptop-now-that-could-be-the-smart-move-as-analyst-firms-predict-more-price-hikes-are-imminent-despite-pc-sales-falling-off-a-cliff">And one analyst outfit, IDC, recently advised</a> that the only positive glimmer here is that some retailers are carrying too much notebook stock (given flagging PC sales this year) which may result in "promotions and some short-term relief for consumers," which is clearly referring to Black Friday.</p><p>I agree, of course, and think that if you want a new laptop in the next couple of years, Black Friday 2026 is likely to be the best time to make your move.</p><h2 id="what-else">What else?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6016px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gt62zAqwq7fQHskncNQUzi" name="shutterstock_660436612.jpg" alt="A man installing components inside a desktop PC." src="https://cdn.mos.cms.futurecdn.net/gt62zAqwq7fQHskncNQUzi-1920-80.jpg" mos="" align="middle" fullscreen="" width="6016" height="3384" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>On the PC side, then, I feel that laptops – particularly gaming notebooks – and desktop GPUs are the key areas to focus on for Black Friday bargains.</p><p>The trouble with other key desktop PC components aside from graphics cards is that pricing has got so high with RAM and SSDs that even a 'bargain' with a big price cut feels like a very sour purchase compared to prices last year. These components are just depressingly expensive (especially system memory), so it's difficult to recommend buying at all unless you're absolutely forced to. (Top-end GPUs are now in this territory too, of course).</p><p>That said, there may just be a half-decent deal on storage somewhere (we did see one or two of those in the most recent Prime Day).</p><p>On a lighter note, you might well see some solid deals on CPUs if you're on the hunt for a new processor. This is likely to be the exception in terms of the other core PC components aside from GPUs, although I'm not expecting CPU prices to face the same upward pricing pressures that graphics cards will encounter next year, so there isn't the same sense of urgency to buy in that respect. I could be wrong in that, mind – and the same goes for all my musings here – so season this advice liberally.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/memory/the-ram-crisis-has-become-a-monster-heres-why-black-friday-is-your-best-chance-of-slaying-the-beast-and-what-pc-bargains-you-should-look-for</link>
                                                                            <description>
                            <![CDATA[ The RAM crisis feels relentless right now, but Black Friday could come to your rescue yet. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">Ed7Jid2ewupnwgiPCAHqX3</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/UBQMw8dYBNFzpfT3ikjDCU-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 31 Oct 2026 17:00:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Memory]]></category>
                                                    <category><![CDATA[GPU]]></category>
                                                    <category><![CDATA[Computing Components]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/UBQMw8dYBNFzpfT3ikjDCU-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A zombie hand emerging from a grave holding a Gigabyte RTX 2060 graphics card]]></media:description>                                                            <media:text><![CDATA[A zombie hand emerging from a grave holding a Gigabyte RTX 2060 graphics card]]></media:text>
                                <media:title type="plain"><![CDATA[A zombie hand emerging from a grave holding a Gigabyte RTX 2060 graphics card]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/UBQMw8dYBNFzpfT3ikjDCU-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>The RAM crisis has grown even more limbs during the month of October. If the memory shortage was incarnated in physical form, it'd have more legs than a spider at this point, and be a multi-limbed monstrosity with a bite that's getting nastier by the day as more negative news seems to roll in at a frightening pace.</p><p>Just this week, we've witnessed SK Hynix predicting that RAM supply woes are <a href="https://www.techradar.com/computing/memory/supply-shortage-to-persist-through-2030-memory-crisis-could-last-until-2030-warns-sk-hynix-and-it-predicts-robots-are-coming-to-eat-your-ram-after-that">going nowhere and will persist through to 2030</a>, after <a href="https://www.techradar.com/computing/memory/analysts-forecast-chinese-ram-surge-through-2028-but-its-not-likely-to-help-the-average-consumer-as-dell-ceo-warns-the-memory-crisis-could-last-until-2030">Dell's CEO recently warned</a> that we're stuck with this crisis until the end of the decade, and <a href="https://www.techradar.com/computing/memory/ram-is-getting-pricier-than-ever-with-ddr4-up-24-percent-in-the-last-quarter-and-intels-ceo-has-reportedly-said-we-have-another-2-to-3-years-of-this">Intel's chief exec agreed</a> – on top of <a href="https://www.techradar.com/computing/memory/ram-to-see-meaningful-price-increases-before-2026-is-out-as-the-memory-crisis-is-predicted-to-last-at-least-another-3-years">other similar forecasts from earlier this month</a>.</p><p>The latest nugget of doom is from Samsung, with the memory chip maker giving out similar vibes to its rival SK Hynix when reporting its financial results (as <a href="https://wccftech.com/samsung-memory-shortages-worse-in-2027-supply-constraints-persist-into-2028/" target="_blank">Wccftech spotted</a>), informing us that RAM shortages will get worse next year, and supply will remain thin on the ground in 2028, too.</p><p>You can barely catch a breath between the various dire predictions during the past month. Naturally, in the face of such grimness, it's human nature to try to look on the bright side, or in this case, at least attempt to find a glimmer of light shining through from somewhere. There must be something, right?</p><p>Well, there is: Black Friday. An event with a distinctly gloomy name, ironically, but I'm increasingly of the opinion that this is going to be a very important sales season from the computing and PC point of view (and likely other tech, too). Mainly because I expect that the deals you'll get this year will likely be the best prices to be had in a long while, and possibly this entire decade, if those 'it's here until 2030' voices are correct in their assertions about the RAM crisis.</p><p>But I hear you (possibly) cry: given all these price hikes, isn't Black Friday going to be a wash anyway? At least based on what we saw with Amazon's <a href="https://www.techradar.com/news/live/the-best-prime-day-tech-deals-from-day-one-2026">recent Prime Day sales</a>? And yes, that's a fair point. You should manage your expectations with the discounts that'll be on offer, certainly, and don't expect to snag a bargain on RAM sticks or that beefy SSD you've been dreaming about. That just isn't happening (to no one's surprise).</p><p>However, on Prime Day, there were some decent deals to be had, for example on GPUs. Notably on the RTX 5080, where if you grabbed the <a href="https://www.techradar.com/computing/computing-components/the-best-amazon-prime-day-ssd-ram-and-gpu-deals-are-more-sad-than-exciting-the-prices-compared-to-last-year-show-how-bad-things-have-got-but-there-is-some-gpu-goodness-here">deal I highlighted back then</a>, you saved yourself 20% (£300) compared to the price of the cheapest model of that Nvidia GPU on Amazon now (at the time of writing).</p><p>So, given that, what should you be looking at buying this Black Friday, which is less than a month away now (<a href="https://www.techradar.com/seasonal-sales/currys-launches-its-black-friday-sale-early-with-up-to-40-percent-off-tech-ive-picked-the-14-best-deals-worth-buying-now">with early offers starting already</a>)? Well, the best deals will likely be in the products set to be more affected by the memory shortage as time rolls on, and I'm going to highlight what I believe are a few key areas bargain hunters should focus on when it comes to the PC sphere.</p><h2 id="graphics-cards">Graphics cards</h2><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="V7gwURqLTtHrE5AzuZBSQS" name="ports" alt="An Nvidia GeForce RTX 5070" src="https://cdn.mos.cms.futurecdn.net/V7gwURqLTtHrE5AzuZBSQS-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 / John Loeffler)</span></figcaption></figure><p>I'm putting this one front and center because I believe this should be a priority for PC owners who are looking at a <a href="https://www.techradar.com/news/computing-components/graphics-cards/best-graphics-cards-1291458">GPU upgrade</a> at some point in the not-too-distant-future. As I already mentioned, there were some decent graphics card deals on Prime Day earlier this month – albeit when it comes to the higher-end GPUs, the word 'decent' translates to 'not inflated', which isn't <em>quite</em> the same thing.</p><p>Still, the problem is that prices are likely to rise a good deal more next year, and if you do need a higher-end GPU in particular, during 2027 I think there's a good chance pricing will get a <em>lot</em> worse. Meaning that what you'll pay on Black Friday, with the odd scattered deal on the likes of an Nvidia RTX 5070 model or AMD RX 9070 XT – and maybe even an RTX 5080 – will be a <em>relative</em> bargain (maybe for quite some time to come).</p><p>I think this is especially true given the <a href="https://www.techradar.com/computing/gpu/are-we-seeing-the-first-signs-of-nvidia-abandoning-pc-gamers-as-the-rtx-5090-seemingly-disappears-from-shelves-im-getting-more-worried-about-geforce-gpus">rumors around the RTX 5090 being discontinued</a> (Nvidia has insisted it isn't, but even so, something's clearly amiss with the flagship GPU somewhere), and the ridiculous inflation the RTX 5080 has seen over the past month. All of this indicates a rocky picture with Nvidia's GPUs, and with memory (VRAM) difficulties set to worsen next year – and AMD also <a href="https://www.techradar.com/computing/gpu/gpu-pricing-to-climb-significantly-warns-pc-maker-as-rumor-suggests-its-the-end-of-the-road-for-nvidias-rtx-5090">rumored to be implementing price hikes</a> with Radeon graphics cards – my advice is to get in ahead of wider GPU price spikes next year.</p><p>The catch is that Black Friday deals on graphics cards could be thin on the ground, but we may actually get some decent price cuts in the mid-to-lower-end of GPU territory.</p><h2 id="gaming-laptops">Gaming laptops</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:7360px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="p5zNuZEeaxuE3c3oBF2e24" name="GettyImages-671014610.jpg" alt="Canva" src="https://cdn.mos.cms.futurecdn.net/p5zNuZEeaxuE3c3oBF2e24-1920-80.jpg" mos="" align="middle" fullscreen="" width="7360" height="4140" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Canva)</span></figcaption></figure><p>If you're thinking about buying a <a href="https://www.techradar.com/news/mobile-computing/laptops/best-gaming-laptops-top-5-gaming-notebooks-reviewed-1258471">gaming laptop</a>, I think there's scope for some good deals on Black Friday – traditionally laptop discounts are plentiful among the massed ranks of portables, and gaming devices have more headroom for cuts, too.</p><p>What you need to consider here is that serious gaming laptops run with a discrete GPU, and as noted above, graphics card price increases are very much on the table. Indeed, this is already happening, and XMG is pushing up prices for its top-end gaming laptops with the RTX 5090 in a major way, while promising that "<a href="https://www.techradar.com/computing/gpu/nvidias-rtx-5090-stock-is-looking-shakier-by-the-day-as-more-rumors-suggest-this-gpu-is-in-vanishingly-short-supply-and-its-set-to-become-even-pricier">other laptop GPUs are also facing supply constraints</a>." Further price rises are coming, then, and with RAM getting more costly next year too,  we can expect some painful hikes.</p><p>As a result, I'd be inclined to keep a careful watch on what Black Friday presents in the way of gaming laptop price cuts, and move sooner rather than later if at all possible.</p><h2 id="laptops">Laptops</h2><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="uxfkutoiVDzgAzzNHD8q5E" name="laptop user.jpg" alt="Person using a laptop in a coffeeshop" src="https://cdn.mos.cms.futurecdn.net/uxfkutoiVDzgAzzNHD8q5E-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: Shutterstock)</span></figcaption></figure><p>Outside of the gaming arena, <a href="https://www.techradar.com/news/mobile-computing/laptops/best-laptops-1304361">everyday laptops</a> are another area where I'd seriously think about trying to nab a Black Friday bargain. As mentioned, there are usually a lot of laptop deals – we highlight the top offers at TechRadar, of course, and notebooks represent quite a number of the bargains we pick out – and while there may not be so many this year, expect them to be there.</p><p>With the rising tide of RAM prices and the worsening of the crisis next year, it seems inevitable that this will jack up the asking prices of all laptops (and especially gaming laptops, as noted, due to the extra pressure added by the video RAM of discrete GPUs).</p><p>Analyst firms are already predicting that laptop manufacturers are soon going to ramp up pricing as they run short of stockpiled components (purchased at a cheaper cost). <a href="https://www.techradar.com/computing/laptops/should-you-buy-a-laptop-now-that-could-be-the-smart-move-as-analyst-firms-predict-more-price-hikes-are-imminent-despite-pc-sales-falling-off-a-cliff">And one analyst outfit, IDC, recently advised</a> that the only positive glimmer here is that some retailers are carrying too much notebook stock (given flagging PC sales this year) which may result in "promotions and some short-term relief for consumers," which is clearly referring to Black Friday.</p><p>I agree, of course, and think that if you want a new laptop in the next couple of years, Black Friday 2026 is likely to be the best time to make your move.</p><h2 id="what-else">What else?</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:6016px;"><p class="vanilla-image-block" style="padding-top:56.25%;"><img id="gt62zAqwq7fQHskncNQUzi" name="shutterstock_660436612.jpg" alt="A man installing components inside a desktop PC." src="https://cdn.mos.cms.futurecdn.net/gt62zAqwq7fQHskncNQUzi-1920-80.jpg" mos="" align="middle" fullscreen="" width="6016" height="3384" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock)</span></figcaption></figure><p>On the PC side, then, I feel that laptops – particularly gaming notebooks – and desktop GPUs are the key areas to focus on for Black Friday bargains.</p><p>The trouble with other key desktop PC components aside from graphics cards is that pricing has got so high with RAM and SSDs that even a 'bargain' with a big price cut feels like a very sour purchase compared to prices last year. These components are just depressingly expensive (especially system memory), so it's difficult to recommend buying at all unless you're absolutely forced to. (Top-end GPUs are now in this territory too, of course).</p><p>That said, there may just be a half-decent deal on storage somewhere (we did see one or two of those in the most recent Prime Day).</p><p>On a lighter note, you might well see some solid deals on CPUs if you're on the hunt for a new processor. This is likely to be the exception in terms of the other core PC components aside from GPUs, although I'm not expecting CPU prices to face the same upward pricing pressures that graphics cards will encounter next year, so there isn't the same sense of urgency to buy in that respect. I could be wrong in that, mind – and the same goes for all my musings here – so season this advice liberally.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ The $6.3bn Binance hack explained — 5 things you need to know ]]></title>
                                                                                                <dc:content><![CDATA[ <p>It's the largest cryptocurrency theft <a href="https://www.techradar.com/pro/security/binance-hit-by-largest-crypto-theft-on-record-as-north-korean-hackers-steal-usd6-3bn-in-just-20-minutes">in history</a>: hackers from North Korea allegedly swiped $6.36 billion in funds from Binance in the space of just 20 minutes, which has left customers reeling and the financial industry in shock.</p><p>The heist raises all kinds of questions about how this was allowed to happen, what might happen next, and whether Binance customers are going to get any of their stolen money back. </p><p>Even if you never owned any cryptocurrency before, there are bigger questions too — like what this means for global financial stability, and what the aftershocks might be for everyone outside the Binance world.<br /><br />Looking for a quick five-minute primer on the Binance hack? We've been speaking to industry experts to get some answers...</p><h3 class="article-body__section" id="section-1-what-actually-happened"><span>1. What actually happened?</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="HZnejd5A9BSpzHMksgQV4H" name="GettyImages-2302659527" alt="A phone showing the Binance logo in front of a stock market tracker" src="https://cdn.mos.cms.futurecdn.net/HZnejd5A9BSpzHMksgQV4H-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: Getty Images / Dan Kitwood)</span></figcaption></figure><p>The basics are now pretty clear — $6.36 billion in cryptocurrency was stolen from the Binance exchange in the space of just 20 minutes. Security analysts are pointing the blame at North Korea's TraderTraitor hacking group, which has a history of this kind of heist. What's less clear is exactly how the hackers got access. Early reports identified a Binance employee's compromised laptop as a potential way in, though it now seems there's more to the story.</p><p>"A compromised laptop may explain where an attack started, but it does not, on its own, explain how billions of dollars could leave an exchange," Pieter Arntz, researcher at cybersecurity firm <a href="https://www.malwarebytes.com/" target="_blank">Malwarebytes</a>, told TechRadar. "The real question is what allowed that initial foothold to become access to withdrawal systems — and which safeguards failed to stop unauthorized transactions."</p><p>"According to blockchain analysts, the attacker spent at least a day and a half preparing, including testing their tools on public blockchains where anyone could see," Ben Bernstein, manager of cybersecurity advisors at <a href="https://www.huntress.com/" target="_blank">Huntress</a>, told TechRadar. "Then most of the $6.3 billion left Binance's wallets in about 20 minutes. That's common in attacks we investigate. The attacker does most of the work long before anything is stolen."</p><h3 class="article-body__section" id="section-2-will-anyone-get-their-money-back"><span>2. Will anyone get their money back?</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:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="TxJUR62qaBrKS9MKbPJoUP" name="shutterstock_1086334076.jpg" alt="Binance Coin" src="https://cdn.mos.cms.futurecdn.net/TxJUR62qaBrKS9MKbPJoUP-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Binance says customers will be refunded </span><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock / Diego Ioppolo)</span></figcaption></figure><p>Binance has promised to reimburse customer losses through its backup and emergency funds, but in the meantime we're seeing deposits and withdrawals frozen on the platform while the hack is investigated. It's a warning that even the largest and most sophisticated exchanges can still be vulnerable.</p><p>"Binance says it'll cover every cent," Nigel Green, CEO of <a href="https://www.devere-group.com/" target="_blank">the deVere Group</a>, said in a press statement. "I hope so. The emergency fund is around $1.2 billion and the gap is several times bigger, so the rest has to come from the company’s own balance sheet. The market will want to see the numbers, and the new proof of reserves can’t come soon enough."</p><p>"Long term holders have just been reminded, very expensively, why keys kept offline matter. Crypto has spent years pushing back against heavy regulation, and plenty of those arguments were fair. This one's harder to argue with. Platforms holding billions of other people's money need enforceable security standards. I expect regulators in the US, Europe and Asia will likely move faster after this week," he added.</p><p>In the meantime, the US Secret Service has said in a statement that it's "working around the clock" with partners in the private sector "to identify, freeze, trace, and recover funds" that have been stolen from Binance.</p><h3 class="article-body__section" id="section-3-what-follow-up-scams-might-appear"><span>3. What follow-up scams might appear?</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="H3JYvKxouWY6CRB6KEEw2a" name="GettyImages-1603729912.jpg" alt="Man holding a mobile phone with warning notification and spam message icon" src="https://cdn.mos.cms.futurecdn.net/H3JYvKxouWY6CRB6KEEw2a-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: Getty Images)</span></figcaption></figure><p>Whether you're a Binance customer or not, you need to keep your wits about you over the next few days. It's likely that scams trying to literally cash in on the hack will start appearing — perhaps warning you that you need to quickly claim refunds, lock your account against a particular threat, or go through a bogus verification process.</p><p>"Criminals routinely use major breaches as a hook for phishing campaigns," Dray Agha, senior manager for tactical response at <a href="https://www.huntress.com/" target="_blank">Huntress</a>, told TechRadar. "Consumers should be highly suspicious of any emails or messages claiming to be from Binance offering urgent account recovery steps. You must only check your account status through the official application or website rather than clicking links in unsolicited messages."</p><p>According to the team at Huntress, you should watch out for social media posts, emails, and text messages that use the Binance hack as a hook — perhaps a fake news story suggesting that now's the time to buy crypto, while prices are down. </p><p>As always, think twice about following links or entering sensitive information into online forms and portals you're not familiar with.</p><h3 class="article-body__section" id="section-4-how-does-this-affect-the-average-consumer"><span>4. How does this affect the average consumer?</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="AboNpeASJNf5nBHAARoLnF" name="Computer hack warning.jpg" alt="A laptop with digitally inserted hack warnings around it" src="https://cdn.mos.cms.futurecdn.net/AboNpeASJNf5nBHAARoLnF-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">The hack shouldn't give you any financial surprises </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you don't own any cryptocurrency, the good news is that you're largely going to be unaffected by what's happened here. There's not going to be a stock market crash, or a run on the banks, or a global recession — not because of this hack, at least. However, it's always worth weighing up your own personal privacy and security setup.</p><p>"If you don't own crypto, the direct impact on you is small," Ben Bernstein from Huntress told us. "Your bank account and your card are not affected by this. The bigger takeaway for consumers is that attackers often get in by targeting people rather than technology, through a convincing email, a fake login page or a phone call from someone posing as IT support," he said.</p><p>"That makes security awareness everyone's job, at home and at work. If you pause before you click a link, approve a login or share a code, you're making it harder for an attacker, whether they're after your savings or your employer's systems," he added.</p><h3 class="article-body__section" id="section-5-what-does-this-mean-for-the-future-of-money"><span>5. What does this mean for the future of money?</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="NaCB8pmsc8XsFynXT6qrDa" name="GettyImages-2302659444" alt="The Binance logo in front of a stock market line graph" src="https://cdn.mos.cms.futurecdn.net/NaCB8pmsc8XsFynXT6qrDa-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: Getty Images / Dan Kitwood)</span></figcaption></figure><p>This clearly raises a lot of questions about the safety of cryptocurrency and the exchanges that it sits on — and of course it's far from the first crypto heist <a href="https://www.techradar.com/pro/security/hackers-steal-over-usd1bn-in-one-of-the-biggest-crypto-thefts-ever">we've seen</a>. In the longer term, it may lead to less confidence in crypto as a whole, but the experts we spoke to don't think it will bring the industry down. What will be important is making sure the risks of this happening again are minimized as much as possible.</p><p>"Despite the scale of the theft, this is not a threat to global financial stability," Feike Hacquebord, Principal Threat Researcher at <a href="https://www.trendaisecurity.com/en-gb/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=ent_brand+general_lg_e_ukie_wg_ao_search&amp;gad_source=1&amp;gad_campaignid=20549377892&amp;gbraid=0AAAAADnY1BvBRM2ja1Cb1gIdqxw09vDJ-&amp;gclid=CjwKCAjw6rfSBhAqEiwA_yocplOw-CRKs4xOmjzxgSrfhcO6onSMjr57VO8bhAPnqTxE8I8JRvYzZBoCSC0QAvD_BwE" target="_blank">TrendAI</a>, told TechRadar. "Around half of the stolen funds have already been frozen, while the regulated banking system is well equipped to absorb a shock of this size. This is a major crisis for Binance, not a crisis for the global financial system."</p><p>"The change I’d like to see, for crypto firms, banks and every other business, is working on the assumption that someone will get in eventually," Ben Bernstein told us. "Keeping attackers out matters, but it isn't enough on its own. Companies also need someone watching around the clock, especially for logins and account activity that don't look right, so they can find and remove an intruder before the money starts moving," he added.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/blockchain-crypto/the-biggest-hack-in-history-5-things-you-need-to-know-about-the-usd6-3bn-binance-heist-even-if-you-dont-own-crypto</link>
                                                                            <description>
                            <![CDATA[ How can $6.36 billion in currency be stolen in less than 20 minutes? Will any money be returned? We've got the answers. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mMbp6jHSp4DLaT5bDmqrTm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/NuGkg73RM8rrjxJkghcxJj-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Sat, 31 Oct 2026 09:00:00 +0000</pubDate>                                                                                                                                <updated>Sat, 31 Oct 2026 11:28:31 +0000</updated>
                                                                                                                                            <category><![CDATA[Blockchain & Crypto]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                    <category><![CDATA[Software]]></category>
                                                                                                                    <dc:creator><![CDATA[ David Nield ]]></dc:creator>                                                                                    <dc:source><![CDATA[ https://cdn.mos.cms.futurecdn.net/mbi9b6isV6ML9Tr4bSPhyR-320-70.jpg ]]></dc:source>
                                                                <dc:description><![CDATA[ &lt;p&gt;Dave is a freelance tech journalist who has been writing about gadgets, apps and the web for more than two decades. Based out of Stockport, England, on TechRadar you&#039;ll find him covering news, features and reviews, particularly for phones, tablets and wearables. Working to ensure our breaking news coverage is the best in the business over weekends, David also has bylines at Gizmodo, T3, PopSci and a few other places besides, as well as being many years editing the likes of PC Explorer and The Hardware Handbook.&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/NuGkg73RM8rrjxJkghcxJj-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images / SOPA Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A phone showing the Binance logo]]></media:description>                                                            <media:text><![CDATA[A phone showing the Binance logo]]></media:text>
                                <media:title type="plain"><![CDATA[A phone showing the Binance logo]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/NuGkg73RM8rrjxJkghcxJj-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <p>It's the largest cryptocurrency theft <a href="https://www.techradar.com/pro/security/binance-hit-by-largest-crypto-theft-on-record-as-north-korean-hackers-steal-usd6-3bn-in-just-20-minutes">in history</a>: hackers from North Korea allegedly swiped $6.36 billion in funds from Binance in the space of just 20 minutes, which has left customers reeling and the financial industry in shock.</p><p>The heist raises all kinds of questions about how this was allowed to happen, what might happen next, and whether Binance customers are going to get any of their stolen money back. </p><p>Even if you never owned any cryptocurrency before, there are bigger questions too — like what this means for global financial stability, and what the aftershocks might be for everyone outside the Binance world.<br /><br />Looking for a quick five-minute primer on the Binance hack? We've been speaking to industry experts to get some answers...</p><h3 class="article-body__section" id="section-1-what-actually-happened"><span>1. What actually happened?</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="HZnejd5A9BSpzHMksgQV4H" name="GettyImages-2302659527" alt="A phone showing the Binance logo in front of a stock market tracker" src="https://cdn.mos.cms.futurecdn.net/HZnejd5A9BSpzHMksgQV4H-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: Getty Images / Dan Kitwood)</span></figcaption></figure><p>The basics are now pretty clear — $6.36 billion in cryptocurrency was stolen from the Binance exchange in the space of just 20 minutes. Security analysts are pointing the blame at North Korea's TraderTraitor hacking group, which has a history of this kind of heist. What's less clear is exactly how the hackers got access. Early reports identified a Binance employee's compromised laptop as a potential way in, though it now seems there's more to the story.</p><p>"A compromised laptop may explain where an attack started, but it does not, on its own, explain how billions of dollars could leave an exchange," Pieter Arntz, researcher at cybersecurity firm <a href="https://www.malwarebytes.com/" target="_blank">Malwarebytes</a>, told TechRadar. "The real question is what allowed that initial foothold to become access to withdrawal systems — and which safeguards failed to stop unauthorized transactions."</p><p>"According to blockchain analysts, the attacker spent at least a day and a half preparing, including testing their tools on public blockchains where anyone could see," Ben Bernstein, manager of cybersecurity advisors at <a href="https://www.huntress.com/" target="_blank">Huntress</a>, told TechRadar. "Then most of the $6.3 billion left Binance's wallets in about 20 minutes. That's common in attacks we investigate. The attacker does most of the work long before anything is stolen."</p><h3 class="article-body__section" id="section-2-will-anyone-get-their-money-back"><span>2. Will anyone get their money back?</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:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="TxJUR62qaBrKS9MKbPJoUP" name="shutterstock_1086334076.jpg" alt="Binance Coin" src="https://cdn.mos.cms.futurecdn.net/TxJUR62qaBrKS9MKbPJoUP-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="caption-text">Binance says customers will be refunded </span><span class="credit" itemprop="copyrightHolder">(Image credit: Shutterstock / Diego Ioppolo)</span></figcaption></figure><p>Binance has promised to reimburse customer losses through its backup and emergency funds, but in the meantime we're seeing deposits and withdrawals frozen on the platform while the hack is investigated. It's a warning that even the largest and most sophisticated exchanges can still be vulnerable.</p><p>"Binance says it'll cover every cent," Nigel Green, CEO of <a href="https://www.devere-group.com/" target="_blank">the deVere Group</a>, said in a press statement. "I hope so. The emergency fund is around $1.2 billion and the gap is several times bigger, so the rest has to come from the company’s own balance sheet. The market will want to see the numbers, and the new proof of reserves can’t come soon enough."</p><p>"Long term holders have just been reminded, very expensively, why keys kept offline matter. Crypto has spent years pushing back against heavy regulation, and plenty of those arguments were fair. This one's harder to argue with. Platforms holding billions of other people's money need enforceable security standards. I expect regulators in the US, Europe and Asia will likely move faster after this week," he added.</p><p>In the meantime, the US Secret Service has said in a statement that it's "working around the clock" with partners in the private sector "to identify, freeze, trace, and recover funds" that have been stolen from Binance.</p><h3 class="article-body__section" id="section-3-what-follow-up-scams-might-appear"><span>3. What follow-up scams might appear?</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="H3JYvKxouWY6CRB6KEEw2a" name="GettyImages-1603729912.jpg" alt="Man holding a mobile phone with warning notification and spam message icon" src="https://cdn.mos.cms.futurecdn.net/H3JYvKxouWY6CRB6KEEw2a-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: Getty Images)</span></figcaption></figure><p>Whether you're a Binance customer or not, you need to keep your wits about you over the next few days. It's likely that scams trying to literally cash in on the hack will start appearing — perhaps warning you that you need to quickly claim refunds, lock your account against a particular threat, or go through a bogus verification process.</p><p>"Criminals routinely use major breaches as a hook for phishing campaigns," Dray Agha, senior manager for tactical response at <a href="https://www.huntress.com/" target="_blank">Huntress</a>, told TechRadar. "Consumers should be highly suspicious of any emails or messages claiming to be from Binance offering urgent account recovery steps. You must only check your account status through the official application or website rather than clicking links in unsolicited messages."</p><p>According to the team at Huntress, you should watch out for social media posts, emails, and text messages that use the Binance hack as a hook — perhaps a fake news story suggesting that now's the time to buy crypto, while prices are down. </p><p>As always, think twice about following links or entering sensitive information into online forms and portals you're not familiar with.</p><h3 class="article-body__section" id="section-4-how-does-this-affect-the-average-consumer"><span>4. How does this affect the average consumer?</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="AboNpeASJNf5nBHAARoLnF" name="Computer hack warning.jpg" alt="A laptop with digitally inserted hack warnings around it" src="https://cdn.mos.cms.futurecdn.net/AboNpeASJNf5nBHAARoLnF-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">The hack shouldn't give you any financial surprises </span><span class="credit" itemprop="copyrightHolder">(Image credit: Getty Images)</span></figcaption></figure><p>If you don't own any cryptocurrency, the good news is that you're largely going to be unaffected by what's happened here. There's not going to be a stock market crash, or a run on the banks, or a global recession — not because of this hack, at least. However, it's always worth weighing up your own personal privacy and security setup.</p><p>"If you don't own crypto, the direct impact on you is small," Ben Bernstein from Huntress told us. "Your bank account and your card are not affected by this. The bigger takeaway for consumers is that attackers often get in by targeting people rather than technology, through a convincing email, a fake login page or a phone call from someone posing as IT support," he said.</p><p>"That makes security awareness everyone's job, at home and at work. If you pause before you click a link, approve a login or share a code, you're making it harder for an attacker, whether they're after your savings or your employer's systems," he added.</p><h3 class="article-body__section" id="section-5-what-does-this-mean-for-the-future-of-money"><span>5. What does this mean for the future of money?</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="NaCB8pmsc8XsFynXT6qrDa" name="GettyImages-2302659444" alt="The Binance logo in front of a stock market line graph" src="https://cdn.mos.cms.futurecdn.net/NaCB8pmsc8XsFynXT6qrDa-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: Getty Images / Dan Kitwood)</span></figcaption></figure><p>This clearly raises a lot of questions about the safety of cryptocurrency and the exchanges that it sits on — and of course it's far from the first crypto heist <a href="https://www.techradar.com/pro/security/hackers-steal-over-usd1bn-in-one-of-the-biggest-crypto-thefts-ever">we've seen</a>. In the longer term, it may lead to less confidence in crypto as a whole, but the experts we spoke to don't think it will bring the industry down. What will be important is making sure the risks of this happening again are minimized as much as possible.</p><p>"Despite the scale of the theft, this is not a threat to global financial stability," Feike Hacquebord, Principal Threat Researcher at <a href="https://www.trendaisecurity.com/en-gb/?utm_source=google&amp;utm_medium=cpc&amp;utm_campaign=ent_brand+general_lg_e_ukie_wg_ao_search&amp;gad_source=1&amp;gad_campaignid=20549377892&amp;gbraid=0AAAAADnY1BvBRM2ja1Cb1gIdqxw09vDJ-&amp;gclid=CjwKCAjw6rfSBhAqEiwA_yocplOw-CRKs4xOmjzxgSrfhcO6onSMjr57VO8bhAPnqTxE8I8JRvYzZBoCSC0QAvD_BwE" target="_blank">TrendAI</a>, told TechRadar. "Around half of the stolen funds have already been frozen, while the regulated banking system is well equipped to absorb a shock of this size. This is a major crisis for Binance, not a crisis for the global financial system."</p><p>"The change I’d like to see, for crypto firms, banks and every other business, is working on the assumption that someone will get in eventually," Ben Bernstein told us. "Keeping attackers out matters, but it isn't enough on its own. Companies also need someone watching around the clock, especially for logins and account activity that don't look right, so they can find and remove an intruder before the money starts moving," he added.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ AI-generated code is still frequently failing security checks — with Claude and GPT-6 topping the leader board ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>AI-generated code security improved for the first time in a year, with vulnerability rates dropping from 44% to 38%</strong></li><li><strong>Top models performed better at preventing common flaws like XSS, but still struggled with complex security reasoning</strong></li><li><strong>Researchers stress AI-generated code still requires independent security testing and verification before deployment</strong></li></ul><p>Computer code generated by frontier AI models has gotten more secure and consequently - contains fewer vulnerabilities. </p><p>This is according to a new report by Veracode, which claims this is the first significant improvement in a year.</p><p>In July 2025, Veracode started releasing its GenAI Code Security Report, which analyzed code generated by <a href="https://www.techradar.com/best/best-ai-tools" target="_blank">LLMs</a> for vulnerabilities and security risks. Since then, the company’s researchers noticed a trend - the code was functioning almost perfect, but on the security side it left much to be desired. </p><h2 id="are-xss-flaws-worth-the-trouble">Are XSS flaws worth the trouble?</h2><p>“We’ve been analyzing code generated by multiple LLMs for more than a year. Until now, we have not seen a marked improvement in AI code security, despite consistently near-perfect functionality,” said Chris Wysopal, Co-founder &amp; Chief Security Evangelist at Veracode. </p><p>“This is the first time since running our study that we’ve been able to report a meaningful move on the security dial.” </p><p>That meaningful move is a jump from 56% to 62% in overall AI-generated code security. At the same time, there’s been a drop in vulnerabilities from 44% to 38%, Veracode added, saying this was the most significant improvement since the reports started coming out. Anthropic's Claude Opus 5.5 and OpenAI's GPT-6-Sol co-lead the rankings at 73%, surpassing the previous high of 68% set by GPT-5.5 in July 2026. </p><p>“Ten models now clear 60%, up from four in the last report, and the overall average has jumped six percentage points,” Wysopal said. “With around half of code now generated by AI, today’s results are truly encouraging.”  </p><p>To draft the report, Veracode tested 18 models across four languages (Python, C#, JavaScript, and Java), and four Common Weakness Enumeration (CWE) categories (CWE-89, CWE-327, CWE-80, CWE-117). Claude Opus 5.5 and GPT-6-Sol claimed the top spot with 73% followed by GPT-5.5 which holds 68%. In July, six of 11 models scored between 50 and 53, while today only two remain in that band, while 10 scored at least 60%. The bottom is still at 44% - 50% percent.</p><p>While the results are definitely commendable, there is a caveat. Apparently, the main driver of the overall gain was on cross-site scripting (XSS), which is arguably one of the weakest categories. XSS rose to 18% which is also the single biggest change in the dataset. According to Veracode, XSS is the “easiest vulnerability to fix through pattern recognition”, which is exactly how LLMs improve. In cases where data-flow reasoning across multiple functions is required (such as, in log injection cases, for example), LLMs continue to stall.</p><h2 id="low-hanging-fruit">Low-hanging fruit</h2><p>In other words, AI has just picked low-hanging fruit and called it a day. We’re not sure if we should be disappointed with this, since XSS attacks are common and the vulnerability is still present across the web.</p><p>In the report, Veracode also said that water was wet and the sky is mostly blue: it found that top-performing models cost more. </p><p>However, they said throwing money at the problem most likely isn’t the best solution: “The models that produce the most secure code are the ones that cost the most to run at scale, yet they still fail on more than one in four security tasks,” Wysopal said. “The answer should never be to use the most expensive model and hope for the best. A mid-tier model at a 60% pass rate plus Veracode scanning is more accurate, more cost-effective, and more scalable than a frontier model at 73% with no verification.”</p><p>In conclusion, the improvement is there, but “mends a small part of a larger wound”, Veracode said. Organizations should make sure they combine AI code with continuous and independent security verification that can catch what the models miss.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/ai-generated-code-is-still-frequently-failing-security-checks-with-claude-and-gpt-6-topping-the-leader-board</link>
                                                                            <description>
                            <![CDATA[ Progress is there, but it's mending a small part of a large wound. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">mfdSy7gvqgG2xfdcAHwsZm</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/dyqv6mszWWV7hVh4EWjzKT-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 18:10:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/dyqv6mszWWV7hVh4EWjzKT-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / NicoElNino]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[big data business ai]]></media:description>                                                            <media:text><![CDATA[big data business ai]]></media:text>
                                <media:title type="plain"><![CDATA[big data business ai]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/dyqv6mszWWV7hVh4EWjzKT-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>AI-generated code security improved for the first time in a year, with vulnerability rates dropping from 44% to 38%</strong></li><li><strong>Top models performed better at preventing common flaws like XSS, but still struggled with complex security reasoning</strong></li><li><strong>Researchers stress AI-generated code still requires independent security testing and verification before deployment</strong></li></ul><p>Computer code generated by frontier AI models has gotten more secure and consequently - contains fewer vulnerabilities. </p><p>This is according to a new report by Veracode, which claims this is the first significant improvement in a year.</p><p>In July 2025, Veracode started releasing its GenAI Code Security Report, which analyzed code generated by <a href="https://www.techradar.com/best/best-ai-tools" target="_blank">LLMs</a> for vulnerabilities and security risks. Since then, the company’s researchers noticed a trend - the code was functioning almost perfect, but on the security side it left much to be desired. </p><h2 id="are-xss-flaws-worth-the-trouble">Are XSS flaws worth the trouble?</h2><p>“We’ve been analyzing code generated by multiple LLMs for more than a year. Until now, we have not seen a marked improvement in AI code security, despite consistently near-perfect functionality,” said Chris Wysopal, Co-founder &amp; Chief Security Evangelist at Veracode. </p><p>“This is the first time since running our study that we’ve been able to report a meaningful move on the security dial.” </p><p>That meaningful move is a jump from 56% to 62% in overall AI-generated code security. At the same time, there’s been a drop in vulnerabilities from 44% to 38%, Veracode added, saying this was the most significant improvement since the reports started coming out. Anthropic's Claude Opus 5.5 and OpenAI's GPT-6-Sol co-lead the rankings at 73%, surpassing the previous high of 68% set by GPT-5.5 in July 2026. </p><p>“Ten models now clear 60%, up from four in the last report, and the overall average has jumped six percentage points,” Wysopal said. “With around half of code now generated by AI, today’s results are truly encouraging.”  </p><p>To draft the report, Veracode tested 18 models across four languages (Python, C#, JavaScript, and Java), and four Common Weakness Enumeration (CWE) categories (CWE-89, CWE-327, CWE-80, CWE-117). Claude Opus 5.5 and GPT-6-Sol claimed the top spot with 73% followed by GPT-5.5 which holds 68%. In July, six of 11 models scored between 50 and 53, while today only two remain in that band, while 10 scored at least 60%. The bottom is still at 44% - 50% percent.</p><p>While the results are definitely commendable, there is a caveat. Apparently, the main driver of the overall gain was on cross-site scripting (XSS), which is arguably one of the weakest categories. XSS rose to 18% which is also the single biggest change in the dataset. According to Veracode, XSS is the “easiest vulnerability to fix through pattern recognition”, which is exactly how LLMs improve. In cases where data-flow reasoning across multiple functions is required (such as, in log injection cases, for example), LLMs continue to stall.</p><h2 id="low-hanging-fruit">Low-hanging fruit</h2><p>In other words, AI has just picked low-hanging fruit and called it a day. We’re not sure if we should be disappointed with this, since XSS attacks are common and the vulnerability is still present across the web.</p><p>In the report, Veracode also said that water was wet and the sky is mostly blue: it found that top-performing models cost more. </p><p>However, they said throwing money at the problem most likely isn’t the best solution: “The models that produce the most secure code are the ones that cost the most to run at scale, yet they still fail on more than one in four security tasks,” Wysopal said. “The answer should never be to use the most expensive model and hope for the best. A mid-tier model at a 60% pass rate plus Veracode scanning is more accurate, more cost-effective, and more scalable than a frontier model at 73% with no verification.”</p><p>In conclusion, the improvement is there, but “mends a small part of a larger wound”, Veracode said. Organizations should make sure they combine AI code with continuous and independent security verification that can catch what the models miss.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Criminal investigation launched into Google's Finnish data center project ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Google's subsidiary Tuike Finland cleared and drained 330 hectares of forest at Muhos for a data center site</strong></li><li><strong>The company failed to get the necessary environmental impact assessments completed before carrying out the felling</strong></li><li><strong>A preliminary police investigation is now taking place, based on 'ambiguities and ‌shortcomings in the drainage and water management', although the results of this won't be known until 2027</strong></li></ul><p>A preliminary police investigation is now underway into <a href="https://www.techradar.com/computing/google-ai-data-center-project-accused-of-destroying-300-hectares-of-finnish-forest-as-critics-brand-microsofts-nature-inspired-designs-for-20-facilities-as-lipstick-on-a-pig">Google's clearing of a forest in Finland</a> to make space for an AI data center.</p><p>As <a href="https://www.theguardian.com/world/2026/oct/29/finland-criminal-investigation-google-clearing-forest-datacentre" target="_blank">The Guardian reports</a>, the allegation is that Google's subsidiary Tuike Finland cleared and drained 330 hectares of forest at the site in Muhos before it had ensured the necessary environmental impact assessments were completed.</p><p>Yle (Finland's public broadcasting company) <a href="https://yle.fi/a/74-20254086" target="_blank">further reports</a> that the police have said that the investigation is into suspected environmental damage, but the other possible charges could be added depending on its ongoing findings.</p><p>Finnish police said: "Based on preliminary information, there have been ambiguities and ‌shortcomings in the drainage and water management at the construction site of Tuike Finland ​Oy's datacentre project."</p><p>The investigation will be far from a short process, though, and won't be completed until some point in 2027.</p><p>Construction work was stopped on the data center in Muhos, and also at a second data center site at Kajaani-Otanmäki, on October 14. In both cases, the environmental assessments were apparently incomplete.</p><p>Antti Järvinen, who heads up Google Finland as country manager, apologized for the forest clearances, but said that Google had acted according to the "best understanding we had of the legislation at the time."</p><h2 id="analysis-the-rush-for-ai-data-centers">Analysis: the rush for AI data centers</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="74marA2bDWWvAvbWFtRZQ3" name="OMB-Datacenter-Hero-9_18_25" alt="Microsoft's Wisconsin data center" src="https://cdn.mos.cms.futurecdn.net/74marA2bDWWvAvbWFtRZQ3-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Some 400,000 trees have reportedly been felled across both sites (250,000 of those at Muhos). As The Guardian makes clear in a <a href="https://www.theguardian.com/environment/ng-interactive/2026/oct/22/finland-google-felling-trees-datacentre" target="_blank">separate report</a> from last week (<a href="https://www.tomshardware.com/tech-industry/data-centers/wolves-roam-into-finnish-villages-after-google-destroys-1-300-acres-of-forest-for-ai-data-centers-forest-where-wolf-packs-used-to-live-are-now-an-expanse-of-mud" target="_blank">via Tom's Hardware</a>), there are a lot of very unhappy Finnish people, as you might imagine.</p><p>Many of them <a href="https://www.techradar.com/pro/these-are-the-countries-which-have-officially-built-the-most-data-centers-and-the-ones-where-people-are-getting-concerned-about-water-consumption-the-most">question the building of data centers</a> at all, and the AI gold rush that's the driving force behind this activity. There's apparently little direct benefit for the people of the country where these projects are underway, with only a small number of local jobs created. As a professor of computer science at the University of Helsinki, Jussi Kangasharju points out, "Really, for Finland, there are no benefits. They are international companies serving international customers. Datacentres ultimately have little benefit for others except the datacentre operator."</p><p>Others obviously worry about the impact on wildlife. Finnish conservationists inform us that the three-toed woodpeckers in the forest have been displaced, and The Guardian highlighted that in Otanmäki, wolves that had nowhere to go when the trees were felled ended up coming into a local village.</p><p>It will be some time before the criminal investigation is completed, as noted, but you can bet that the results are going to be closely watched.</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/computing/a-criminal-investigation-is-now-underway-into-googles-ai-data-center-project-in-finland-where-330-hectares-of-forest-were-torn-down</link>
                                                                            <description>
                            <![CDATA[ Remember the furore over Google's AI data center in Finland? The police are now investigating the matter. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">2anSfXTWuJ98YJiZxdJo55</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/zwBWPNAfpJdnNkfJY3wUKM-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 18:00:00 +0000</pubDate>                                                                                                                                <updated>Mon, 02 Nov 2026 08:04:34 +0000</updated>
                                                                                                                                            <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Darren Allan ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/zwBWPNAfpJdnNkfJY3wUKM-1920-80.jpg">
                                                            <media:credit><![CDATA[Getty Images]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[A data center in a blue light]]></media:description>                                                            <media:text><![CDATA[A data center in a blue light]]></media:text>
                                <media:title type="plain"><![CDATA[A data center in a blue light]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/zwBWPNAfpJdnNkfJY3wUKM-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Google's subsidiary Tuike Finland cleared and drained 330 hectares of forest at Muhos for a data center site</strong></li><li><strong>The company failed to get the necessary environmental impact assessments completed before carrying out the felling</strong></li><li><strong>A preliminary police investigation is now taking place, based on 'ambiguities and ‌shortcomings in the drainage and water management', although the results of this won't be known until 2027</strong></li></ul><p>A preliminary police investigation is now underway into <a href="https://www.techradar.com/computing/google-ai-data-center-project-accused-of-destroying-300-hectares-of-finnish-forest-as-critics-brand-microsofts-nature-inspired-designs-for-20-facilities-as-lipstick-on-a-pig">Google's clearing of a forest in Finland</a> to make space for an AI data center.</p><p>As <a href="https://www.theguardian.com/world/2026/oct/29/finland-criminal-investigation-google-clearing-forest-datacentre" target="_blank">The Guardian reports</a>, the allegation is that Google's subsidiary Tuike Finland cleared and drained 330 hectares of forest at the site in Muhos before it had ensured the necessary environmental impact assessments were completed.</p><p>Yle (Finland's public broadcasting company) <a href="https://yle.fi/a/74-20254086" target="_blank">further reports</a> that the police have said that the investigation is into suspected environmental damage, but the other possible charges could be added depending on its ongoing findings.</p><p>Finnish police said: "Based on preliminary information, there have been ambiguities and ‌shortcomings in the drainage and water management at the construction site of Tuike Finland ​Oy's datacentre project."</p><p>The investigation will be far from a short process, though, and won't be completed until some point in 2027.</p><p>Construction work was stopped on the data center in Muhos, and also at a second data center site at Kajaani-Otanmäki, on October 14. In both cases, the environmental assessments were apparently incomplete.</p><p>Antti Järvinen, who heads up Google Finland as country manager, apologized for the forest clearances, but said that Google had acted according to the "best understanding we had of the legislation at the time."</p><h2 id="analysis-the-rush-for-ai-data-centers">Analysis: the rush for AI data centers</h2><figure class="van-image-figure  inline-layout" data-bordeaux-image-check="" ><div class='image-full-width-wrapper'><div class='image-widthsetter' style="max-width:970px;"><p class="vanilla-image-block" style="padding-top:56.19%;"><img id="74marA2bDWWvAvbWFtRZQ3" name="OMB-Datacenter-Hero-9_18_25" alt="Microsoft's Wisconsin data center" src="https://cdn.mos.cms.futurecdn.net/74marA2bDWWvAvbWFtRZQ3-1920-80.jpg" mos="" align="middle" fullscreen="" width="970" height="545" attribution="" endorsement="" class="inline" /></p></div></div><figcaption itemprop="caption description" class=" inline-layout"><span class="credit" itemprop="copyrightHolder">(Image credit: Microsoft)</span></figcaption></figure><p>Some 400,000 trees have reportedly been felled across both sites (250,000 of those at Muhos). As The Guardian makes clear in a <a href="https://www.theguardian.com/environment/ng-interactive/2026/oct/22/finland-google-felling-trees-datacentre" target="_blank">separate report</a> from last week (<a href="https://www.tomshardware.com/tech-industry/data-centers/wolves-roam-into-finnish-villages-after-google-destroys-1-300-acres-of-forest-for-ai-data-centers-forest-where-wolf-packs-used-to-live-are-now-an-expanse-of-mud" target="_blank">via Tom's Hardware</a>), there are a lot of very unhappy Finnish people, as you might imagine.</p><p>Many of them <a href="https://www.techradar.com/pro/these-are-the-countries-which-have-officially-built-the-most-data-centers-and-the-ones-where-people-are-getting-concerned-about-water-consumption-the-most">question the building of data centers</a> at all, and the AI gold rush that's the driving force behind this activity. There's apparently little direct benefit for the people of the country where these projects are underway, with only a small number of local jobs created. As a professor of computer science at the University of Helsinki, Jussi Kangasharju points out, "Really, for Finland, there are no benefits. They are international companies serving international customers. Datacentres ultimately have little benefit for others except the datacentre operator."</p><p>Others obviously worry about the impact on wildlife. Finnish conservationists inform us that the three-toed woodpeckers in the forest have been displaced, and The Guardian highlighted that in Otanmäki, wolves that had nowhere to go when the trees were felled ended up coming into a local village.</p><p>It will be some time before the criminal investigation is completed, as noted, but you can bet that the results are going to be closely watched.</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Chinese hackers build PHP2SHELL exploit, use it to root 25 servers, breach US government-affiliated firewalls ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Researchers report the first confirmed PHP2Shell compromises, targeting organizations linked to the US government</strong></li><li><strong>Attackers chained PHP2Shell with a Linux privilege-escalation flaw to gain root access and persistence</strong></li><li><strong>Breaches progressed from initial compromise to Active Directory attacks within minutes, underscoring patching urgency</strong></li></ul><p>We now have confirmation of the first successful exploits of the infamous PHP2Shell vulnerability discovered earlier this month. </p><p>The news comes courtesy of cybersecurity outfit Dream, who claim to have seen attackers breach organizations affiliated with the US government.</p><p>PHP2Shell is a name given to two critical-severity vulnerabilities found in PHP. When they were first disclosed, most of the cybersecurity community went full panic mode, given that PHP powers roughly 70% of all websites and web apps on the internet, and there was no patch at the time. The flaws allegedly enabled complete website takeover, and some government and education organizations in Europe even preemptively shut down their websites, in anticipation of mass exploitation attempts. </p><p>But after the dust settled, a strange thing happened - there were no successful attacks. Researchers were seeing attempts and probes, but no successful breaches. Amazon said it observed first attacks four days before the patch, and Cloudflare later tracked “thousands” of attempts in the 10 hours before the patch was announced. This grew to tens of thousands within an hour of disclosure, and hundreds of thousands within two hours. Now, it’s gone into the millions.</p><p>Some said exploiting the bugs was easier said than done, and that threat actors were hitting different roadblocks, including Address Space Layout Randomization, a security feature that randomly changes where a program’s code and data are stored in memory every time it runs. Still, they warned that all of that might be temporary, and that a successful hit was a question of “when”, not “if”. </p><h2 id="targeting-firewalls">Targeting firewalls</h2><p>Now it seems the claims were on point, as Dream says Chinese threat actors successfully chained PHP2Shell with a Linux kernel privilege-escalation flaw against Palo Alto Networks <a href="https://www.techradar.com/best/firewall" target="_blank">firewalls</a>, breaching 25 servers, some allegedly belonging to US government-affiliated organizations. </p><p>The attacks started on October 23 2026, probing firms in the US, Japan, Taiwan, and South Korea, and soon focused on Palo Alto Networks’ PAN-OS-powered devices, running an older, vulnerable version of the OS. </p><p>According to Dream, the crooks chained PHP2Shell with Fragnesia, a local privilege escalation flaw that allows unprivileged users to obtain root access. It was disclosed in mid-May this year and is tracked as CVE-2026-46300. </p><p>After breaking into the devices, the attackers ran some 40 custom post-exploitation scripts, Dream added. </p><p>“Within hours of compromising a US government-affiliated firewall, they had tunneled into the internal network, compromised a third server using the same PHP2Shell exploit, and launched a full Active Directory attack campaign - all through a chain that started with a single unauthenticated HTTPS request to a management interface that should never have been exposed to the internet,” the company’s report reads. </p><h2 id="not-automated">Not automated</h2><p>To make matters worse, the researchers believe the attackers still have unabated access.</p><p> “The total chain - from unauthenticated HTTPS connection to persistent root webshell - completes in under 15 minutes,” Dream said. The researchers could not say what the endgame was here because that information was not found in the artifacts they retrieved. Besides the obvious, which seems to be persistent access and credential theft, the threat actors could do anything from dropping backdoors to exfiltrating sensitive information. </p><p>In the context of “Black October”, and the fact we’re seeing a significant increase in automated attacks, it is also worth mentioning that this incident was likely not AI-powered. </p><p>Dream did find evidence of AI usage but believes it was not fully automated. Claude Code was installed, as was an offensive security platform called AIscan, which was configured with Chinese AI models DeepSeek and Kimi. Furthermore, they found API keys for FOFA, a Chinese counterpart to the Shodan search engine. </p><p>With the help of FOFA, the attackers allegedly identified around 19,000 internet-connected Palo Alto Networks firewalls, which they used as a starting point for their attacks. </p><p><em>Via </em><a href="https://www.theregister.com/security/2026/10/29/suspected-chinese-attackers-built-a-custom-php2shell-exploit-and-rooted-25-servers/5306456" target="_blank"><em>The Register</em></a></p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/chinese-hackers-build-php2shell-exploit-use-it-to-root-25-servers-breach-us-government-affiliated-firewalls</link>
                                                                            <description>
                            <![CDATA[ Palo Alto Networks firewalls running outdated OS seem to be the target, as Chinese hackers chain PHP2Shell to Fragnesia for the campaign. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">YNWiFaWU79pa6ScGgN5SsF</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/X5DPDeFcG3TSkqdJMgSU3U-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 16:05:00 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/X5DPDeFcG3TSkqdJMgSU3U-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[China]]></media:description>                                                            <media:text><![CDATA[China]]></media:text>
                                <media:title type="plain"><![CDATA[China]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/X5DPDeFcG3TSkqdJMgSU3U-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Researchers report the first confirmed PHP2Shell compromises, targeting organizations linked to the US government</strong></li><li><strong>Attackers chained PHP2Shell with a Linux privilege-escalation flaw to gain root access and persistence</strong></li><li><strong>Breaches progressed from initial compromise to Active Directory attacks within minutes, underscoring patching urgency</strong></li></ul><p>We now have confirmation of the first successful exploits of the infamous PHP2Shell vulnerability discovered earlier this month. </p><p>The news comes courtesy of cybersecurity outfit Dream, who claim to have seen attackers breach organizations affiliated with the US government.</p><p>PHP2Shell is a name given to two critical-severity vulnerabilities found in PHP. When they were first disclosed, most of the cybersecurity community went full panic mode, given that PHP powers roughly 70% of all websites and web apps on the internet, and there was no patch at the time. The flaws allegedly enabled complete website takeover, and some government and education organizations in Europe even preemptively shut down their websites, in anticipation of mass exploitation attempts. </p><p>But after the dust settled, a strange thing happened - there were no successful attacks. Researchers were seeing attempts and probes, but no successful breaches. Amazon said it observed first attacks four days before the patch, and Cloudflare later tracked “thousands” of attempts in the 10 hours before the patch was announced. This grew to tens of thousands within an hour of disclosure, and hundreds of thousands within two hours. Now, it’s gone into the millions.</p><p>Some said exploiting the bugs was easier said than done, and that threat actors were hitting different roadblocks, including Address Space Layout Randomization, a security feature that randomly changes where a program’s code and data are stored in memory every time it runs. Still, they warned that all of that might be temporary, and that a successful hit was a question of “when”, not “if”. </p><h2 id="targeting-firewalls">Targeting firewalls</h2><p>Now it seems the claims were on point, as Dream says Chinese threat actors successfully chained PHP2Shell with a Linux kernel privilege-escalation flaw against Palo Alto Networks <a href="https://www.techradar.com/best/firewall" target="_blank">firewalls</a>, breaching 25 servers, some allegedly belonging to US government-affiliated organizations. </p><p>The attacks started on October 23 2026, probing firms in the US, Japan, Taiwan, and South Korea, and soon focused on Palo Alto Networks’ PAN-OS-powered devices, running an older, vulnerable version of the OS. </p><p>According to Dream, the crooks chained PHP2Shell with Fragnesia, a local privilege escalation flaw that allows unprivileged users to obtain root access. It was disclosed in mid-May this year and is tracked as CVE-2026-46300. </p><p>After breaking into the devices, the attackers ran some 40 custom post-exploitation scripts, Dream added. </p><p>“Within hours of compromising a US government-affiliated firewall, they had tunneled into the internal network, compromised a third server using the same PHP2Shell exploit, and launched a full Active Directory attack campaign - all through a chain that started with a single unauthenticated HTTPS request to a management interface that should never have been exposed to the internet,” the company’s report reads. </p><h2 id="not-automated">Not automated</h2><p>To make matters worse, the researchers believe the attackers still have unabated access.</p><p> “The total chain - from unauthenticated HTTPS connection to persistent root webshell - completes in under 15 minutes,” Dream said. The researchers could not say what the endgame was here because that information was not found in the artifacts they retrieved. Besides the obvious, which seems to be persistent access and credential theft, the threat actors could do anything from dropping backdoors to exfiltrating sensitive information. </p><p>In the context of “Black October”, and the fact we’re seeing a significant increase in automated attacks, it is also worth mentioning that this incident was likely not AI-powered. </p><p>Dream did find evidence of AI usage but believes it was not fully automated. Claude Code was installed, as was an offensive security platform called AIscan, which was configured with Chinese AI models DeepSeek and Kimi. Furthermore, they found API keys for FOFA, a Chinese counterpart to the Shodan search engine. </p><p>With the help of FOFA, the attackers allegedly identified around 19,000 internet-connected Palo Alto Networks firewalls, which they used as a starting point for their attacks. </p><p><em>Via </em><a href="https://www.theregister.com/security/2026/10/29/suspected-chinese-attackers-built-a-custom-php2shell-exploit-and-rooted-25-servers/5306456" target="_blank"><em>The Register</em></a></p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
                                <item>
                                                            <title><![CDATA[ Binance hit by 'largest crypto theft on record' as North Korean hackers steal $6.3bn in just 20 minutes ]]></title>
                                                                                                <dc:content><![CDATA[ <ul><li><strong>Attackers allegedly stole $6.36 billion from Binance in a record-breaking cryptocurrency exchange breach</strong></li><li><strong>Investigators linked the attack to North Korea’s Lazarus Group, exploiting access from a compromised engineer</strong></li><li><strong>Binance said customer funds remain safe, while authorities and partners froze billions in stolen assets</strong></li></ul><p>Cybercriminals, allegedly from an infamous North Korean hacking organization, have gained access to one of the biggest cryptocurrency exchanges on the planet - Binance - and in less than half an hour withdrew $6.36 billion worth of different tokens.</p><p>Security researchers <a href="https://www.trmlabs.com/resources/blog/north-korea-steals-usd-6-36-billion-from-binance-in-the-largest-hack-in-history" target="_blank" rel="nofollow">TRM Labs</a> said the attack was carried out by a group called TraderTraitor, which it describes as “North Korea’s premier hacking unit”. </p><p>“We base this assessment on robust on and off-chain intelligence sources,” TRM Labs said in a report, noting that TraderTraitor is part of Lazarus Group, North Korea’s state-sponsored threat actor blamed for some of the biggest crypto heists in history, with the FBI blaming it for the $1.5 billion Bybit hack that took place on February 21, 2025.</p><h2 id="gone-in-20-minutes">Gone in 20 minutes</h2><p>Binance’s experts, as well as independent researchers, are still piecing together what happened, so information might change throughout the day(s). What we know so far is that a DevOps engineer had their laptop compromised, which was confirmed by Richard Teng, Binance co-CEO, in a LinkedIn post.</p><p>“That gave an attacker access to a service container, where they submitted unauthorized withdrawal transactions,” he said. </p><p>Right now, no one really knows what exactly happened and what it means that a DevOps engineer’s laptop was compromised. However, we do know that Lazarus is famous for running operations DreamJob and Contagious Interview, in which they set up fake companies and fake jobs, and then approach software engineers working on crypto projects. They entice them with lucrative job offers and exciting opportunities, and sneak <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware </a>during the multiple interview rounds.</p><p>But Binance’s security measures are more robust than that, and simply installing malware on one device could not have sufficed. Teng confirmed that, too, saying “the attacker did not simply use one engineer's permissions, and this was not a single "one-click" action. It involved a more complex attack process.”</p><h2 id="funds-are-safu">Funds are SAFU</h2><p>TRM Labs said the attackers pulled funds from 10 different chains, including Bitcoin, Ethereum, XRP, Tron, Solana, Arbitrum, Optimism, Base, Avalanche, and Polygon. The Ethereum chain was the hardest one hit, losing roughly $3.79 billion. It could be because of the chain’s smart contracts feature, which allowed the attackers to keep withdrawing funds as they were landing into the wallet. </p><p>Binance is one of the biggest and most popular cryptocurrency exchanges on planet Earth, and as such it holds billions of dollars in user funds. This attack, however, did not target user funds, but rather Binance itself. This was confirmed by both Teng and TRM Labs, with the co-CEO saying “your funds are safe”, and “Binance will cover all losses from the SAFU fund and company funds.”</p><p>In response to the attack, Binance temporarily restricted deposits and withdrawals. Numerous users took to X this morning to say their transaction requests were denied. The police and other relevant entities were notified, and around $3 billion were already frozen on-chain, apparently. </p><p>Tether, Circle, Ripple and World Liberty Financial froze about $2.67 billion in stablecoins, TRM Labs confirmed, while Arbitrum's Security Council froze 8,426 ETH and 74.6 million ARB on its network, for a total of roughly $2.7 billion.</p><p>What’s particularly interesting about this incident is how the market responded. In 2013, when Mt.Gox (at the time the biggest crypto exchange in the world) got hacked for $450 million, it was considered a “black swan” event, sending bitcoin down by more than a third (35%) in a few weeks. The 2025 Bybit hack sent BTC down approximately 7.5%. In response to the Binance hack, BTC dropped a measly 6.7%, which is just another Friday in the crypto world. </p><h2 id="phishing-incoming">Phishing incoming</h2><p>Trouble always comes in pairs, and this Binance hack will most likely be no exception. Security researchers NordVPN are warning users that other hacking groups might try to take advantage of the news to target users with phishing emails. </p><p>“Another risk is criminals exploiting the confusion and fear among crypto owners on other platforms. An email claiming your funds are at risk, a fake support account offering help or a message urging you to move your cryptocurrency to a ‘safe wallet’ could be an attempt to steal from you,” said Marijus Briedis, Chief Technology Officer at NordVPN. </p><p>“Check updates through the Binance app or a website address you already trust. Avoid links in unsolicited messages, and never give anyone your password, verification codes or wallet recovery phrase. Pressure to act immediately should be a reason to pause and verify the request.”</p><p>“These steps can reduce the risk of someone taking over your account, but they cannot prevent a breach of the platform itself. Cryptocurrency firms typically have watertight cybersecurity, as they are digital-first businesses, so if one can be involved in the biggest hack in history, it shows just how lucrative a single flaw can be.”</p> ]]></dc:content>
                                                                                                                                            <link>https://www.techradar.com/pro/security/binance-hit-by-largest-crypto-theft-on-record-as-north-korean-hackers-steal-usd6-3bn-in-just-20-minutes</link>
                                                                            <description>
                            <![CDATA[ Lazarus is breaking its own records year after year but Binance says user funds are SAFU. ]]>
                                                                                                            </description>
                                                                                                                                <guid isPermaLink="false">LZE8Aq8gkrX2j7Rcg7sxBG</guid>
                                                                                                <enclosure url="https://cdn.mos.cms.futurecdn.net/TxJUR62qaBrKS9MKbPJoUP-1920-80.jpg" type="image/jpeg" length="0"></enclosure>
                                                                        <pubDate>Fri, 30 Oct 2026 12:21:44 +0000</pubDate>                                                                                                                                                                                                                                <category><![CDATA[Security]]></category>
                                                    <category><![CDATA[Cyber Security]]></category>
                                                    <category><![CDATA[Computing Security]]></category>
                                                    <category><![CDATA[Pro]]></category>
                                                    <category><![CDATA[Computing]]></category>
                                                                                                                    <dc:creator><![CDATA[ Sead Fadilpašić ]]></dc:creator>                                                                                                        <dc:description><![CDATA[ null ]]></dc:description>
                                                                                                                                <cf:isSponsored>false</cf:isSponsored>
                <cf:hasAffiliateLinks>false</cf:hasAffiliateLinks>
                <cf:isPaid>false</cf:isPaid>
                                                                                                                                                                                    <media:content type="image/jpeg" url="https://cdn.mos.cms.futurecdn.net/TxJUR62qaBrKS9MKbPJoUP-1920-80.jpg">
                                                            <media:credit><![CDATA[Shutterstock / Diego Ioppolo]]></media:credit>
                                                                                                                                                                                                                                    <media:description><![CDATA[Binance Coin]]></media:description>                                                            <media:text><![CDATA[Binance Coin]]></media:text>
                                <media:title type="plain"><![CDATA[Binance Coin]]></media:title>
                                                    </media:content>
                                                    <media:thumbnail url="https://cdn.mos.cms.futurecdn.net/TxJUR62qaBrKS9MKbPJoUP-1920-80.jpg" />
                                                                                                                                                                    <content:encoded >
                            <![CDATA[
                            <article>
                                <ul><li><strong>Attackers allegedly stole $6.36 billion from Binance in a record-breaking cryptocurrency exchange breach</strong></li><li><strong>Investigators linked the attack to North Korea’s Lazarus Group, exploiting access from a compromised engineer</strong></li><li><strong>Binance said customer funds remain safe, while authorities and partners froze billions in stolen assets</strong></li></ul><p>Cybercriminals, allegedly from an infamous North Korean hacking organization, have gained access to one of the biggest cryptocurrency exchanges on the planet - Binance - and in less than half an hour withdrew $6.36 billion worth of different tokens.</p><p>Security researchers <a href="https://www.trmlabs.com/resources/blog/north-korea-steals-usd-6-36-billion-from-binance-in-the-largest-hack-in-history" target="_blank" rel="nofollow">TRM Labs</a> said the attack was carried out by a group called TraderTraitor, which it describes as “North Korea’s premier hacking unit”. </p><p>“We base this assessment on robust on and off-chain intelligence sources,” TRM Labs said in a report, noting that TraderTraitor is part of Lazarus Group, North Korea’s state-sponsored threat actor blamed for some of the biggest crypto heists in history, with the FBI blaming it for the $1.5 billion Bybit hack that took place on February 21, 2025.</p><h2 id="gone-in-20-minutes">Gone in 20 minutes</h2><p>Binance’s experts, as well as independent researchers, are still piecing together what happened, so information might change throughout the day(s). What we know so far is that a DevOps engineer had their laptop compromised, which was confirmed by Richard Teng, Binance co-CEO, in a LinkedIn post.</p><p>“That gave an attacker access to a service container, where they submitted unauthorized withdrawal transactions,” he said. </p><p>Right now, no one really knows what exactly happened and what it means that a DevOps engineer’s laptop was compromised. However, we do know that Lazarus is famous for running operations DreamJob and Contagious Interview, in which they set up fake companies and fake jobs, and then approach software engineers working on crypto projects. They entice them with lucrative job offers and exciting opportunities, and sneak <a href="https://www.techradar.com/best/best-malware-removal" target="_blank">malware </a>during the multiple interview rounds.</p><p>But Binance’s security measures are more robust than that, and simply installing malware on one device could not have sufficed. Teng confirmed that, too, saying “the attacker did not simply use one engineer's permissions, and this was not a single "one-click" action. It involved a more complex attack process.”</p><h2 id="funds-are-safu">Funds are SAFU</h2><p>TRM Labs said the attackers pulled funds from 10 different chains, including Bitcoin, Ethereum, XRP, Tron, Solana, Arbitrum, Optimism, Base, Avalanche, and Polygon. The Ethereum chain was the hardest one hit, losing roughly $3.79 billion. It could be because of the chain’s smart contracts feature, which allowed the attackers to keep withdrawing funds as they were landing into the wallet. </p><p>Binance is one of the biggest and most popular cryptocurrency exchanges on planet Earth, and as such it holds billions of dollars in user funds. This attack, however, did not target user funds, but rather Binance itself. This was confirmed by both Teng and TRM Labs, with the co-CEO saying “your funds are safe”, and “Binance will cover all losses from the SAFU fund and company funds.”</p><p>In response to the attack, Binance temporarily restricted deposits and withdrawals. Numerous users took to X this morning to say their transaction requests were denied. The police and other relevant entities were notified, and around $3 billion were already frozen on-chain, apparently. </p><p>Tether, Circle, Ripple and World Liberty Financial froze about $2.67 billion in stablecoins, TRM Labs confirmed, while Arbitrum's Security Council froze 8,426 ETH and 74.6 million ARB on its network, for a total of roughly $2.7 billion.</p><p>What’s particularly interesting about this incident is how the market responded. In 2013, when Mt.Gox (at the time the biggest crypto exchange in the world) got hacked for $450 million, it was considered a “black swan” event, sending bitcoin down by more than a third (35%) in a few weeks. The 2025 Bybit hack sent BTC down approximately 7.5%. In response to the Binance hack, BTC dropped a measly 6.7%, which is just another Friday in the crypto world. </p><h2 id="phishing-incoming">Phishing incoming</h2><p>Trouble always comes in pairs, and this Binance hack will most likely be no exception. Security researchers NordVPN are warning users that other hacking groups might try to take advantage of the news to target users with phishing emails. </p><p>“Another risk is criminals exploiting the confusion and fear among crypto owners on other platforms. An email claiming your funds are at risk, a fake support account offering help or a message urging you to move your cryptocurrency to a ‘safe wallet’ could be an attempt to steal from you,” said Marijus Briedis, Chief Technology Officer at NordVPN. </p><p>“Check updates through the Binance app or a website address you already trust. Avoid links in unsolicited messages, and never give anyone your password, verification codes or wallet recovery phrase. Pressure to act immediately should be a reason to pause and verify the request.”</p><p>“These steps can reduce the risk of someone taking over your account, but they cannot prevent a breach of the platform itself. Cryptocurrency firms typically have watertight cybersecurity, as they are digital-first businesses, so if one can be involved in the biggest hack in history, it shows just how lucrative a single flaw can be.”</p>
                                                            </article>
                            ]]>
                        </content:encoded>
                                                </item>
            </channel>
</rss>